package com.loan.common.utils;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.util.EntityUtils;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.net.ssl.*;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * HTTP协议传输工具类
 */
public class HttpUtil {
    private static Logger logger = LoggerFactory.getLogger(HttpUtil.class);
    private static final String IMAGEDATA = "FDDD48A9779215CC771B1C55EECC1B628DC1FB16FE35C484D9BD5208320515605C078833892B8083637930034662BD351D921BC27FD9AC588D3976F1C531433E6D76";

    private static final String IMAGEDATA1 = "19D8829ABC4D31AE1859AF45C9DD48D13891A35E4C6A362122D6F71ACF0C602B51155252F72FC08001659B4B3ECFD611BCA99FE1824E33B20A878E4FD4E8ACDC44A384F2B3117C128D3006E06ADFFF71F7D6CA8FBB14933ECA05467247F830FCF424A0047DF441BD7F02CD7F102EBACAB5439BBF48C58976BD91E9E3F2700758FAB9DE113B2ADCEB8D8CB7D7ADE33DE283578E15803CAC8102982857A12AA6A1712A7618632DE1C4368AD039D270ABB953B669539E9F3C061D935E5E84A8D251B42CB31E1940070C5778BFCAC10C8E74E0F53579A6F9F1B7940F89D4A40AB32B76DA3B2D0E72F6FBB9163E1558472FBC25EB02B162B0089D1CE7D9D8275825FDA772BE8652A4FD6E2DB2A2DC15FB245F561E98BFD56E8B9DA63D276FD51B85CFEF0A80DB303DC8DC7D775326F33B1E8ADE89A8AD558E791B9120203BD5BEDB6266C8ADED4BD595BCE6F39745DC9DEF01905B632AFB71C5259B91ABDAA12203E426984A27127B3935D24FA9B45374AEFE316E54EBB3DD394BA9988B716610940537CEA02E7A4A1D9C6F347F898A7ACF09518C79D26D8B118D038695094487C28265636A613B72E21DACF40B51ABC9AED6AD79EB642B70B37F077356767F658BC825342DC19521B67CF67BFA0286F128E53FA52905D5F0DCD6E7A58126976813D41E662CDA027CCDAC243B50FA3F5D49F401E56232960772ECDC73D1D24FE5701357E36791A2F5911DD368496A24C0EFDBF918335B4C53B5DC2991B7C35677C958C3131AB4333C338800957040349AF0DD80B11EE5E401904FD4633FE076C90C9BD8852FD351D0DD60C316026007CA74787F16D32095F9E0C17B19E99ADF923E74D882E6D4DDC2C6B312DDD8F49E40DBA97D14C799E72B4266033155403CA6FD1296522457CF3B942A09E96DDAA4A0C1BDFE1EEEADC93654ACE0E5101B8415557E14B994A30FCA502EC783113CE654225A6B98EB79CE4E995CE0F7F9720D376B427747E4FB98B1B766DD69CE2F01C8814A7938A6D0477E97E6B9CD3E279EA640F95D364C17E5B24F16A0A0404C4DEFA0BF46B00857E62CDA9C4FCD3921FEFD2C3CA99B1B2A6DD84EEB9E4001B1D37CDC2763BE4787B0BCBA9E104350660D5FDADD701D5E8D0344D73D424A7E628C62C57CC09B96CA42AE3997673799B2F4EA5CC30BC206FDA716C2C2655B2FDCE0A9AB6F7909DA0CA25346BA545B08DE714F4C1500D89C2FB98FF7E69F51635C175645AF09B6B143C588DB40761DE5098C8B2C7B10DBB1713918C636D80D37B3F07681C27FC25EE027F94904491616244660C3BA0E4DDAFC8FCFEB3A0DF2DCF00C1FA3827A3353473E688F495AB11FB22D5CB6F13EFD540A0D667B9FC4DC38CD03A2B002523C38498BD28905FBD0190E0C12A8F3378E3469F9DA6A9B01A055987BF8CB90D4FB95EB790B2145B14AA7C1EF5A4C79657B3057EC341193239CAC96F32132471AB272CEB64F480F5C6CD9D2F1D73745CD262ED3709E6EE4814B5E2C732C57160707410AF482238A13AAB4143C48C1ED069FC568E167224DC31471BCAA87E7BD3C3F6E80A69BF9053A19B23236DD3D9E2E04F55F12893BAA930CB4229C8107CBC2F0458D18C559A8D465E28F6C79DABB51E42AC8EA323BB07CD51F4136B6FE00AFF028704E5A1CDCB8DEC04892C8C66140F54FF518D76ADD663B1BFC38FF4D6E47F297B94071FE71F8E9CFB7E3F381495B31EE93102BD2F59CDA994299A29AF5CF64ABA35E61EA978FE8D1163B5728E6108DAEB4200D75728683FC645C4E35B5C14C21190FA540AE4403D8FFC7B80464D74331F4CA26F00DF2BD88198A6FF3F591791CF8E18BF1C3774EFE17957C50F2DE05ACBFF929C7680C22F437B012EBB43CE817EABFDAF3DC44BF276D085FB4D98A4854309108E3287430A98F073FC81BB122A28C1F6B753A40DF2E87E363280CE9971E1BBD9675E82AD1F8B5CE9D3CC473D4DE063AE34DF49592649219B64502975DB60B0F4BD07813909C23775D7C9E9EB750793838014F79AE5C75095B89E3749456085ADF509EC3ED5DF22E1B54D6639D9823734BFC458B639ED75B8209567B23A325E8606D865EC6272E345D470AB1E6F8BD27F508A2A9A2DB600B790602A120DBB31537095E7B1A8E8FF169555CAE3CBAB922E378D949AB62F07512E1D5AA9968726731027049F809FA91CC9FDBD3A64D5A185E813417626804B021F227FBCE6D3B63470FB046D91C2E13A563920E90CB9BDA789DC941EB390407E484D0BBA2E8AE5D900F36F6706251CC036EAA87245F8C48EEE2E3BC5B6F223BF28B775C10078C0717FDD55040D63B212E3D6A7D4869718B66D86845813FC1D0594216DA251E36C92DD1F312F994FE7C6848CB47707D5D5B685BBB3FB0CF271FDDB9C6B9A7FB827965E495E58E829CF1589ACD8B2334815BB36880FB372CFC3511027C99C08FB10E3FF94D5F2164FF9B0BAF6DA43735FFEE3DFD8C6DCD6FD81A8A65EA3215597FD6A7DDAA8FD54A243D657B2B4ACDC99738080F3979BA0014D4EF27845168071A0EBD6C45178775FA7DB78EA213E176146AE53910D7652937ED4999928B0EE5B97120C49415DA78E543F9EDEEB009D1F6E683FD231674B1F50FFD83505C2D237D97E40E0452FA1EF63D4F6ACF217029DDBA62EB470B59A4A78523FA3AA71D37154D76EC5056B589EDAF89614B3CB9A859383ED6D271CB830644E7D17D3A51E478C24F6A0C87C5D656307DD255974A75269CF98901468A34739F80AABA1B8909A35CD27A83FD0AF40C129475A40356B0C8962E636ECA97F3C9C2F4A399DE0510B15B080C465C40F35981C50AF7968FAF7410BD2F3644AB208D02D902A1DFF0A39A533FA1D662D4BCA26ABAEB4F328B4BE1F39B48523A8C0D6E6BEE8C22726E40842D109B47DE26FDB31A0DC0BAD4F932AED2CF9269A0A3624D3D76F9CEC9FA3D47ACA2072C8981F4C33BB1548B03FBA73EBD9B9AEDEDCE0A50A0B596331A6F1E3C15E18472991F4E49B7A1AC3CE1D2025123631CDB0392A89B40B85E92BD80965368D8046DF54EAC76EC30DBFEE59B557354384558B3D6CBE15E8B202964D64D3DF6AE6B2B2DDE38578C276B7FDA0E524F6FB559ACE608485FA77720EEF051F1D93902409E999BCE2195EB1F3F80BDD72AA798A805846058B0A8421B2FE74DAE90333EA2F3B0482BE759E1911FDC50599AF6139161230712BE80BA01CB8CD596D85A14E01D623D6B09132C85D198DAC1329B5FBE8A4273A3927C7EC83C6C360A8BCAACAA391AD1F7293F3CCD6AA4C147B36506D2155055107C043338E97B5A7A175B9C52C11C6FB8AAF232AE9CAD3F6BEF6ACF6D47B85B863DE30279E5886DCD01768D8D3DD933FA1F8D9387FC6CBB1DAB80A6A127C7120E6639A0DCD033E640D7BE8396E6FB5743368763EE6FF73276D76D52EB99852DC6DBFC9BD591B36DC18050303F2C461A957253EA23DE4DAF70885A1E667E83A78ED129F2D3A0502E5A72F6650E025584B3B5A385C15F75B268F455FC7BDC7FF410F0E642AAD71F6EDDE3417DDFB285B1709BD3B592ABB63EE9A490213E5081491E36E66051B457C000E6BBEE9A9B44D7A5F4BB799C48DC5BC3B94133F29229BF245E352F5818B3A97F5C7B9F04AD0F8EB81999DA18DC53580D31E04A8808BCD5D4AC2E419A4FADF32F81BF43D21D3B5D7290845318E06FE47C60482CB4CFE7C67482BE2DF8747D43E1BB6D18246C69EB5B547412A5CB60BDAED0A731D34B54D3658D7B49AB1773D43D9B3EBAF9E459D12409CE7EC930999D97E86EF16519B7EEB368CB08B9CA5D133BBB998CE44D81B056E9225FD6AA0D1C802F3F813D39817129BED51BCB50397697553AB4B99E8A99E2DB7B41F62FB2F8F2DE960F3E308D23611623F5BA89406DC49F1CABFD92778BBFBE9ACE54E7D3460BCEEB612408C9EEEEF746F0A082B503F5FE26BDD4FDC955AF43F212791B0DE974988E6A1227DEBE2743E82418062E741DE202BFCF9AB153DFBB9E3A13FF2440D6FC51C5798223AB7AEA8A07389C5B9EB3D673F798A9105246FC305A035F529A659B73648A6E11D5C5DEFEED002A61F9FF322D5C8E2B77B919BE9E38B7C6F7CFE87D0F413320F3854936AA0418EC02523CEE475BA2B3434FCE4A61D607CE7FE1386CF49B16956DA4806FE24C01F46B7D859825DF252A25D01BAF21BF175C5CEB4350F57D07CAAB5DEA01373C9AF6749FE17274AC1E77A8053892EC79450A6B19BC2D595576FFF5A3F70C447874436455178A13B945E3031C9432B98AE402DB601E4C615732AA5DB6BEA05A8238CB12A9AF622E4A8A39BC6E027CA03E765317433A84AD3DD0C8208130726CC43D294318A32DE83F3879C9506F8E834A85BE5E1916985ADFBFC1FD3640A01040F45F85241DE6AEE2F0C8ABE31558993A3F78609C79ED567C79DC76E189303F07263315C31596CA94DEF48E2C5BE237238C814BF426350F0A1120DC77F4BC664745EB9E9BB8EF553A2F374BFEBD7C0BCBD3BFEC09EA6CF0D569D062DDC40C0C447B4244D4A7E189E69DE340DE06F37C7F0EF6A010D8F13A6A95BB72BA1A2D8D5A40226F9C9A0F5C5B024BB5855AA863C9BC282B30D16EF24FD8930440DB9300C23E7FAE02A6279466C3EEE1D6CE7485DF861AE0EAA75FEB2EE503A2D7442AD1E0937A38C281364AA8E35910A5A10A1BAE2130B52CE50D2B9FD923081A6C696D8F216E2C93384685E396CA250F4A62898567670C68F8ECB013C4EAED55064C7385264C11ADEDCD35EF59170595CF09D21721D92FC553E754C493FBD641454757C937130503893FD6556EC250559288DAD2C414618F4BA47DE3ABA71207118152184A400A414C6F5805E1F5A1C8AF75CDF43040C588359787F6182515B12698CCEEC4A40386C2DDC92BFB275A31EBDA6C754DD96BE311149A2024D8408F91E4CC9AFBEA961B280529F6F1B18D9CAD1839A08BEB2ABA50104FD3E83F306A68D700A010CDA35D523707AD95CEF3658447A3FD981EC91346B508BF7006B088E499E21356EC5EEF726AF873BCB5416FEA889AF9AC2CF2AA5808C8A0D5F17FAFF0AF52EED3619649F155CD567F3845ACC3C0EE16D3C8A916F0821B65E1C46F8CEB4393E7C2319AF7EE2941B3B2AD9478FD8BD84F666790B0FB8C399080ACD7D65AA3BBE63B5FCE679B375292590D1D87A468B2411BA60BC0891EA9D002245C06673176446CD2786BE89EBA9033FD9970951021C2EDB237EBD1C9D525F2E83635E186E83E9E1E1F5B56483780A3AA89086E57007C7195FC8CDAAEBCFA3E53016A02C9118583A9125782C63820BFBD4A3E4EB4556E57B17EBCAB15CC0920EFA42E934C5C8DA86E40C1DC2E6A3361DBB08204AB160ED56F3C93A68012B13CEF72F14D73AB401E18490FFDD6A27ECDA0C98A408DBC9637D5B158B317DB468A7D71FCF2DA26D2E6D78D72F6B36B193F225B4B1B0C431DB4DA899DA755315ED26B1844C0FF9D76DBEE23AE39A09E795DACA90BDBEE739B915F27165515FFD09680677A84906407A773AB4DCCD20876DAD39D0CFEC169ECB84F2FAC70259FF1C86C72C4FF4EDBF6AD19423907D8F4A85603EF81A49D567CEC58FB8A1479415E25F848FD6B0C3A10F49FE3D328F679885EE8A27F6988718BFCCFEE416DFE739D995932D5ADF1A52249F67807E2455AA4332E6C100A69E32C74CE44D1503FC1AFB13CE547CD051D9C350B6E6BC8D194449F8AC35F16A12DAC0019DA57D489E80CE02F5F80DD27CCFD14A9A2C263C364506A4B5ABE3BDBB77F1DCA1E7288DC910CBA63663D625E645CF0AC05ED54A3588DE7A31FE083AF55AFECB2F94E9A355972BEAF438048E1A6B5B3B5034DF2DF01C852C17716D182B89CA6692F0590332D8DB735E983C64631425400E1F305854A1F3688E50F2B4B0490033FE18CDCAB5D5A13F548AD128B0AB1DF6A5D2B8566B9DC725F488EBEC7C9D29ABDDD090BF4C89E3FF89CA8B4C3AB5C724C20C470DED9F939AB9041976D155295BCF3131215E4B18BFE01C87DD707240538B69CAF8369D55CD7CB0B7C31A86290E7E8142D3570328B80AEF7DC3E20D95D274BD765AABFF1053FF05D635A90D3A020E2727BF29A8FA7D13F4F2C55B8B1FE841877354CB92443D0EC97748550D0F4964166538DB27C32B060BF51E0A958351DDC96BF88F9AF657B360D2C6DC81D3064D231C2D825E5CE7CA7F6FC9324B62F27AC8BBD124FC5B2857EEF909E0B6A2E2DA3DC6A14D3DCFB5E306A1900F62225262291A186BD9697FC0805F98F9AE72903761F50114F522B764E525CEBBB2FEF3CDB781DF4E90CFF7464D9FD890C40C5D3B142CDBB47BC1BDF84537F63571EBDF188CE97B553D4C63CDC1EDDFAA12F160BA4789917B5A30E31979AC6D27C51A01008FE1882417155D2F1349DE496412CEC9FF148E4289CAF55BD8230838079D4C0C9FA975B699417C46660C14FA38E63C8AB7752438A4E40B5E7474E5FEB28AF712565577C08497DCE421F734F036649622BE1FE782272EB644153FAC4209DA5878CA1E4C8E28E96EF2D39C98FF4E58DAA976455F80CCA97B05BA35D877D7308CB2582E7D65E8C56E2C942E1B2C727B1A60F0EFBC9C96F4D4DE78A6A0537DED8515BEA16B76BB36CE8F00C9AFEE07039B05C95A4C7ECA2B808E014FDA804FCF5D8891B76110B970FB9821BB5AE75A4CDD51C1FC98579944062DE74793438190B9C5FA9D51BF0DA321AE3E2F74FA21E95E260520E52DCEF98BB8021BD74BC024D55FEEB11A5E71DD672C4256DC0D97E643D508F32DA35C26D4E89C78AC48262C477E052BA9DAA7C06F64D074D2DE19EEDF4AF59EF107D45A1B688B3C77B8D12D4F8314F18197EC168C97D3F8DA8BA68E55B535D24E8CEEA711DF91647EAC85BDFCAADA17CB5B5BE5469F4F97A170062BDC67033847B9343396CA4753246297399102080FC69697A8351E3A5165277A32296BAA95D3AB3E41B5385E582203FE158DE2F06BE49DF734091CC867F85C7955063E4DAFD81A727F08A4BA049310717B27D09A111F835974B10E3428A66B94BD899D8C5BAF9999396D5AE93457D1CB831F6EAF9B90B8FE560764DDB18E5A2F82BEB59CCF0FBE844FA3B6D623004C9B938C645ACC77B8B9F5B8A6A3515A2B7E00F4D9DC62D1E29987A89E28C21282944CB951EF2FE917A8F9CD3ABE0520BCEA447CBD81276EEA021CEE1B0BCFE23815BEF4AFBA9E067BCD48F1FC7EC6D8F13304375F9F61AA8B0CBC097D4D0175C6EF427596B9880009F6A356BE1540A2604E3DC3457B51691F23F024A4FD51DB75898CC6156AF111A07B4BADFD46AC3AA8F2EA36F4B139EFBAC6F88C1F4F3F183B50533FFC92B7E71550EA776727ABA2AC0B5EDADF0C569116C3EFBCD297E1B2AE2D125D34066400A8B531B4F9652A9EF2A0CB5086453D5EC77E913F1AE6D73B6FF962AFECA7620EAAC5FA4BAF20CF83A71073B53065B451AE73D5756475BAA1B56EE61DC2F2484F42D1C9CDA058343AB306CACDD3FD13E80C19AA5E47F2B5EE1E534CAEB3FD1B73BE0B751A29ACDBD3B5FDE1F564B8E6027B5DC8E9D68135519C230CD5036DDA5A7EC3BD509D40169AFCA546126578C8F50C1B5D87D9521592BE377FA97EFC6432F9E85B0926E5959A08D2F828CB72D2FD5CE7D7E23CDAE8E16C2A822ED7B77053E7012C52499A1F4B3FF5CCE960E9DDBD5A6AAE60407CA7E5FF736EAF7A7428A2AC946D6AE219EDB85BAADB56779F7274C9EB6B480DB74662FB5CE9D4991FD4D1C9C0A954EB72DEF0CEC5D2410A12C93436007652893BB3D32A4970360032BE90E4CE19C2B45CEBFD84CE181348DA4076944FC755464A1714782E65C80FE350A8CD3BFAA9D1EF0DB2D40CC391684F014333CE459B147F33993A51B0C18AD1F04FF0368833F64D6B9B23420DD9A249474D567D64D4ABCAF08FBF31292B44B44BAABB3DBC70A5E945383BC63C810EDDD2D8E88E3F9D09A288969378560B505FCE16F9C08FE8C29C6262C205056A015CFBB0CC37437CE46C395DD8AA60353B0A437FD06C83F3D8906208D55E45AE66B11AB1B6813FB2A42B5851C1E5BDD7B5DB8A03C28406A4D6A9323F9BA6FA088B9DB01C69E2E364235C05EDF24E58B7CC696DD8DEB8460D0199368C3F43DB9302AEB116C7EC800DB239AC84550E7371D499ACCBADA6FD6BD29B1868D3B1B057E420831B2687683A4A81ADBC9EF7443FA496C043A4644615C2F6E7CC1F82800AE5359AA020CEAE290E77D5ADE78C4A451FBF2E9074540E3121B03315C9E8403743C0162EF3C587A74754AD02615FB9C3756F8F29E97E9C864051088E86AA4A8EB441A17F2114B933BA27F22B6FEAA85F2B251F58D0CEBB34C5823DB455009C3033DED8922986DCC4548C3B1442AF8E9195E810FD75869014B1E296DD48653AEC42A2712188B695FBE00A5341C72D7E748699D6C580A69ED20DA65BD4A29FA2BB057F1C45C5D42E15AFD1B34761D6088882751E4F1E74DAA099C49728452B2D491FEF389FB987578DE194D15882A1A80301C416BE5088D03115B1058ACCE3CECA5DBF253F6AEE39AB2C760F7849D37EA68300E7FEA9C5717EB5489A18259463B0B61D31CDEE7D718568C0CCFBEC9B5F5179F47DA07124CD9B6A1FA819C6424396AD43510C2B0C260AB4DE701971E8358338FA268BAFAB87C97D8AEE6C67A1E53EBF7499897D5FAD5C588614585E20C74A5E90185595A65987EC31827D13BE7B66DB737A40A5F6FFCDC14FCC29E3AA46B66493E08AF21A27A442284F00EC65DC994860803116905A580D2168D9E0415A54E2A2BF7674FE19AC0ACF89D2E3DBECAD019EF6AB0BC6A347BC3506076882147E9F93C708301C88A01FF104A95257C5F5F53049D1EC65C3C06ABE69CD21C1E478FE3AA15F4C010D8510B25F9ACC40ADC4F638CF87CF5098322C5B03A1EA4A79A9D683F91833A54FCEBBC1DECFFBFBD9E726DAB547445B9F66C75FB10D2BB331ADE52259251492392EBFFFE8FD4F80B5BD2335CDA342FDF29DE38E85CBA2911AD9E7A4B27DA3CEF07AFBEAC1C443128A8D5D676555EEDBE0AD65C5222CBE28C51C305258C3444AA4CC8FF03065E8DCEDB15DDC2187DA457C1781380E049BB453357163DE0A31AE7BFF4FD31E287741AC349D6167CDA6AD4D4187D215B411A99BE9D9FC8C331A66AD2AB18126CD8FD7A30920661D107ED7E066CD548FEA2873927D49DAD6D4AC8803FBB178E883566908CE95078C86A655BD19B8E6864456D4905CF12D6A93BC7583B776D6B518FB0BCFC3E985C3E2887F84C5071003BFF1B69BEC7799468330D2F2DF968FAD781DD460FA159D32020C530104A866E40E02D50C31F20739A8D92BF72FBC16A859AE6CED53143A1D66CB5DB5396FE03F543C96D18F254E953E6FDD4E04AB92421F01DE2BECD77679D1534BE7B9BFF41D814032C024BEFF7F5CB284988F642BD250674BED5EA3A249A54440297DA366D9331266D3892469157E50713E11D54167C6EB6AB009923B654EDD19FAB2EF3D5F680FA8EE6ECCA985062D1030AA30EF2C8E4FCDA591ED37AC5C384494F879207C7D3B206763F698B71DA4A319FF750FD739B9607F1898B401D1B4C16205BAC537F6676AD763C06B684C77EF97046E481DFF1057939DFE04F2F269550AA7CD4EB31AC6222FD90984300C9FBAC9D871F0CA8E207FE37065EB277BE8147F733556DFA9193D09E456C4E47EE8F12E8F82F8A4EE860816034552045D999A716043F6E315D459297B2D12BF9D5DC793B91F5B39A20AA80568061465354F8C065A59883E60400DAC6A6CF46D93A6BF70EA6571A03BB5641479BAB3602037A345F01DBC35519BC43A50841C8BEC1F7C2C254955F661F1D830B6C3E36A5813F43EA5538A16257DC5C10CC57022E9B49DE78ADCE69790161CDD5626F50A413C123C9A51AC76F727EE9CDE83470D1EA8FC5A7A5EE16E5193BDF217F420AAF80969201C5C842E5FAC358A31F31109D4DF96DD7D10DB4711C82468432F08A2828C6B1D2622352C66DE4FB74E9906A6F343E36102C2BE1E1D326014C03481F182CD4248BA04B3A074C5A9288CDB2302FF8E3EB5267FE4BE81B4677F9046D403738A04DAED3AC50DC6044F81D4327D60069284BFF06E55AA1FA3832C41D6CA4072767D7D2F9CCD82AA7ECFA4E53A49D8A73B0A7E78B81007B8435CF7E18E20D0C5BADFC650ECB6301EE3C28016A53A783848070355E617F2DA0033193EB18879D583FBA23C5986CE60DB641E189A8F77BC925F3BAC62021C557027D7FB4F2260CF9C38BCCC66CE93EE3B534C2DBE7B3B7A6B91DE25E8C6BC4A986D9F38FBEB2FB280FC16679A486B4F140A8DACAE06EE10BCB6445ACA575E567ED9DF225CBC7F4958456950C1368EF4DE3E690BF46B30879D7273D4EFBC4053715708480C8CD10093F13A93E27EC377FC9EBFE8BC4ADE616EA59F4009D222B304CC3E7BE44F353D59A9CC3D47EA366469422CD772BAED78E487F8D7C7AD6F5A7AF13FF413649C66BEA4DB6401B46057B703D39669101E95E2D884572758B552268D6880BA92E4181A88012132A55BFFA7309D6C0119189BD6C0BD489DBA1A989B206B6E796DF70190289E7D3AD97C283C9AE0E42A91BC91C57BD341BCED30B867E9333E6FA5FC0C3392A1E5CF1A79A43EF68B9BBECBFBA716C0583CEAD253CD0D16F80AC8E21C63537DFAFA9BEF1721491853D226B1FAD151EEDA7148BE47BEF5CC93759AF732E617C68C097F11F64D7B68CA6C629F313ED05B06EEDEEFA619E5F79DF526D922A957ECA20320D29D4096961A4F2D31427F392CAAEF70D1FA9BEB5CE0BA224426D1B711EE244F76989E4426A53251B6078DEFFFAAD654FB63067F91842420EE14F6C38CF4C115A0494C70F9E273E2DD55FEDE3AB451E1490F940881A769F370AA934151969E54333203C0C7148A26D5C80B1340AD70E3D77483039295D0748B6D8B455D20F644D417A07AD52B95FD1F45CE4A517998DA98783AFA1537036DE1A05C8FF1F6967EDDB9772F5E7C56F9A5A55743A9C4901D43B1DF9B53DE934E8EB3BCA70990BD57BBF1E75E8B7E7A5DE41C58F5FB7C89870FA78CBD16E7E7B8F475AC26656183D3D9BFD18D93D8A8D221A4279268CFAD0F61C266EF8A78A8E7E1BD7317E886AFC49D06FC03BB34C4888100F9BAFB1D18526EB197F2745C8C3DBE16F635252340810CF54970D571BD64EB03689DDC677DDCEB33DE93ED3F3D271B88F0778FCE953DC0BEB102DECC707CFB9E8DE5D529DB26CF5B7EF10E6478ADD5732403D167B542055F399D7B1E9FF904C77E73CFE586AB92DC61CC61C0394E1F2637A371FE57539D7A6CF02498471F1D0540F098BFE2B11A284E8149CCBB3ED116A086B1556EBE43F5C2F9CCA2747B76EE8579A917FBDD4E9DE660A37B0B7CE4D03386E8782ECCF88F59E6E98EF8767A36CF85A4C5C2CD79E10CDF8051B1FA1E50A451A1340FA7D418F5361685CA09099714F505A812127815B86C4CFA7061382C188DDDB0DCB7DDE15FBD8D9B1BB268D5E51A36322B4194EF0D36CA209A23D3B964687E27E42E174EA815BD8623F4DC5A56E95DC9A16C44C750314EEA9D5EDDD83648ECCCA79C247F1FDB9C797E3337CC20EDD845550AADE8A66AA269DCB1E505122B01EFA44FCED20DD304A7281B22E64B7C31F163D44B90A7695F105EA1343BB88732463DCE112D03118182065924DC4BBF4B4DF45EE252C4D6C041FF9CCAF1AE7858591051A42E8FC3292BB7CD9B1E7E930A1B7EF8B04398F311DB062A2A017B3306488AB6EC236DCD19B2DA63662A73B3FE0695E171464E017C5796FAA16B559CBB48B237E9F976E18664DD4330583F6ADA9F69B416A29115070FEE030A008FBB20331C9195D09FCD62173242E362BEED9E0E79A1E3974CAC443778F74C8F52906AB2876C15CF1A6CE626BAC595BD4A62F1315944716BE7AC02B9A4F87DE2C00F789507A2485708B574E210B45220F80FA570209E000EBBEDE8A75237EE14CDFE050817423F431CB58F395AA3F1BD2538AEB6A217B5C665D1F659FC21FD3E884A045DC38C4CE2B44A09BE9F82832122742C20802101D1046979A042A87D910275E5549507DCD68849E5D6F7B81813010541B0EA009C0678F661C7B09B54A51518F2DA8B5ADFE010C32418355138CCB85DB53446EC9D0C06A2F3890FD0333D89D56E2CA3BBEF799C1B287C4857DAD8031DE77A80D739A6E464E4D17A2CFE1AE21907FB43305C1CC029490B5540B13864B08AA136C5605DAB471EA46418A371FDC297AE0C7E744F5788108BD4D6BF9004A0D160C1564D0CC0F4257C93350BE883ECF28FEAEC5F66F39ECFEE0A96A662FC15DD358A2D09657EBC2A28EE129B2496A91748E1F54EEB20A380584C8BA93C9F686BA6F6D35C70ABFF89113CAE88B77467654982490D45CABB71E90CF8035F25D2F11BE94D6866251D5A7D7AEF667DAE5D7481484406085BC5A4C107F9920C5C7872E979DD82B49C0ADB66B76A0D85B633D40941582D1A583D508E71E1284E73C9305DFCA0F5BB23845CCFABCE4B28C0B696133CCB7ED7320336C17CC254150B340CEC20F26B2FA4E49901748C2702E7E626B2C060B0CA24116AB114B430C5CEAE5A15F235273592AA4255F2BE78E3ABEFB9F87792F117226438B79E550B8CD8FEFF6801DF4565DC473898D96103A00120784286FE1CD29F1D1BAFF406620A98BA76D3D0E4C96883D3964BC568BDEE0D0A047BD7131A9A18953F344E25200A44DFFB24DFCBCECE420449FD4019C4BE75D2530B578C8C66B117311C2AA0371B4FAA848009A79E8383426EAB2DE5B331A1B11DC69FE659E845ECB1EF048A4CA83A9BBC13931CCD786A821EC13BB60D1905BB2C2CBC4AAEC8F7D63D877047BC4042016623307C56538193946A76DA74307EF4A99C782AFAE8FD24096D9B23B7320073C98FA0881200DE1250652DA01B358533C6559B60ADF78CA1FB8E03DF0936C6D26D3087AC1EC7542AB00524A08A3DAA6066EFE2E77FF7C00639A63830535A951C554CD321868C5D816D344A3082B1FF591A23AB653CD441D20AB5D7CE41AC4991EFB45A68AF0A87E29D4ADB864892E2A78C962F4A6F11E8BA2EC31DFA12B7B7DE7576E03E5093365F62F2E902BBE1C9A83FC4C7545313A959C921256C15179ADA9E19AD9EFFC33C684E03199E983C0C76C157B1E45A4168B1198A17DA569802C7176C046ED15A0D4972F8C3AFF41E89AEF37F0C7E54A9CACC045187D68F5E4C4088B0196D7DF908343B07C94ECA5E509A1E785FC7BB5B642A450320A8D307A354A09EF03D220A9245BB12E060D68F4F3D8E92D5909CBEFAEFFE8CEEEE4350D63C39117D4A752F3D13355E825D47D875DCECDDC1396E5C2A263E728A873D8DB45631A5EF24CD472D499A341052FE6E407767D7B3ECE8C610300BFE85A2C4FD8F256EF5290EF578635020945E155F9AD7A31AC11864C1F423A77F73BBDDD62EF902F4EE3C812CFF36EAD7C8B1664124A5DD83ABCAD79FD6275B83AE2C95885F35311B96235B82DC9277C216A527C553E9ADFAFC5462A91474C2F29F85C01321DE6D18C1A2993EC6B01BEA3B61F678078A0D76C43D85C71C879B47CFD794EDED58CCFD86BF7495E0A592DFBD685F1ED1EE47A7321076C5AA6B950D64175CEC783CC0A7E5E9155148627A75948504ECBCA978974DF7608CE9ED2C126326F2485D943B10D152D7465121378BC11CA3298FF4768144DA961AC96310E0520394B91C6855A8FDCD5232EE470A021504786F4DD592E4CFD1BA4A90683A1E1601CC871BDC07BA17CAC975BC249A2FDC8A2EAB300C0C7951EF1B3F33CA15B69E86C618F48BD904BA24E152AFB0E7B331985EC3F1C3F502334814843EE14A3800B9BF3226DFFA16C8FB30DC9D5EDE0541F5B4661F2F8EC906F3112A602B9AA710AB1FFCB895F8793AF34F40CBF75A8348959FE96BC86EAB36C2A0FACAF7495F80A0C9FC0267C3ECD4D02DD022407D12BD5CC70E808221A4EA27E9916FB2BD1339B78BABB57FE51F980E75BFBFEFD1EE7E9EDDF4F8C24A01FC0938BEC28E2CF27C99E0A121F7C3E6E64849B08987671B29D1DA53ADBAE79FA233B6BE2DF6094022F56AC458F986EE330116A2D27662E90EAD43CC8C3364CE60C23EE39928A1B5DE69BA7EBE48ED8CC83B25FB31CDBCC146A260EF9D67C0C022A1C9BE17AA74377227D27CB15AE5EA8C9C5062CFDA2084ACB273164EAE327486DCA20D200E3D441EA21F1FC53844D44FB104F4D80EF3E2902C1E75F74E6627837672184C30D750165F30E7D1E06B6BF0A5E95D90A8C256E6826D4ED0489D117C7E290F76AC8E82E542F5CA77F5993AB0675EEF3A3BA47BC514116984D1F70D5F82E18624F76F5AD460A2CA5B5B2BD523E85297666F19C66F7607DF6E2FA10AF13918CAE8A7D6213A2D0BC76B0AE3418146BCD35C9C077FB3E191B67522B3FB5B7DA5FC137080E436B4F476FC5671F8AC6309F88759CBAC4A37310C5509AACEB251599E8E29F822F435AABD7BE2AD495D6A88A629F8839FFEBDCAF9B86FC9C355582BC5C2D6300EC7383B5799C0C5AD44909F1E0EC1741C2AA48B663E1570027605CEBEF14ED9677BEE93CE983566D3495E96DCC55C1A6457173B10916CD873B488850F8ABFB846B91A9684634DD0A5D8BF5AA0E18EF63B6D89B782067B9112B587DE3B3FD9104872BD7E4A80473F8174D3D2E1D2D36F6E32B5969FD75A9477CC05DAB6D0F6900C0D0E343D45FB7C0107CD696748497BCD312490712F96B869DDB91F5F9FA06CBC7227CDA6F7407AB0F3929E9D67782ADF53818CBD5C4EFCEE3B108E33FD9B1B97D49B1D3EA5EB7163FF8A73BAF2CAD3737257DA56A9CCD37F35BF0AC90D37937E2B9F87108866F2B03DBDF0D277ABB506F0EDE3BABA181DE8AED980A46F174F7EB01745DF092FA3F93A834F3BCD9923C733F94CD28A20ADADE7364D5DCAA384AA9CDB1CB9EE2A6B790291DA41F97F286A698D933FFFED83F6E0B3E5725363E6D34D2ECF068689D2C9983CD0F753633D8E083E0318EC5BCA44A9388F031049A45C7F173C472551916D72B78B1D8E562A3A009418893E973B58FF31E9DB87A3853F9D85E97063162AF751BA1B337D41E7D47D9EC6B9189A3C27DBFC6A1CD71316974E65E692437FE3A5AAA768D486127B5EA798D8E531C71F2808AD644E0A4D8F035D8BBA30EE272F0D0CB98A0410B8AA9B3E97BD7E97D1C2364F50249D9E5D8D88DE1E3AB7A734CDFDCA22E8005388435B0FCBD7CF89980328578A71C72AA65C1CED6BE0F49FFA4F991460B2FB448775E45799F69315FDDED2E33B3B02D280369D7EC0AA68C148C9F40956117E5932242F40AA29FABEFFDC61EE527155382E239DA77B0741A419CF8638AADCDB389D4745FED03EFE084C35CB7BC785F0B31CA7822ADC57A2287B5F6732D9B205AFC2464C94391126C7FA980A2838C85BFF0BE7BEF48977516BBF159366541E314A2FA6C53E6E8613914B5727E249A795E59298665118BCA507BAF8FD8D059F5894F5E02666E654A645AD203582B92639BAEC400E5DCC7B9844EA26E9E3613726619FC83BCB42B3A525FB3F957704ED1BC3DA2AC260F70417256C4932F5D4417CE5D4AC646D8D6143815C2E09953D522836B9DB039F45E05439DBBADDB12CCFB47EDDEACF935621440A5120D4140C0B1271723863E2EAB14C81511F4C82CC6DF3F257736EB57B5504002ADA1EC15142D2EFA65257479472F4149A9B4044AEFA400BE1E80C8E0E7029B02017A9015B383F16BBDC99CDE4601C547ECD8B77ACA28020B2D292E222558C8F5C1C479D446C89A11AECEDAD8955058D44A36B3A8258C80C558EE249574EE4B5AE17F68A0E45F3D755FE3354E12E7EFB1661379BCF659F47ED0E6E752AAA33D73708345D3306076BC79F95A98C127EE5FB8F49B70796FD8C6C7B17FF52336FCA48CCA1F4EBD8A85D53751FB808C140FE4D898709E07CC35DE3DB6966705785F22667348A4F03D211546ED618035764F943ECFB06DD9FA2F7CBFDDFCA862067F62739D4076505EE59418E830F22D5E45E6BE253D8C988A2F26F8C56B432D112365689EE60D1EF44730644232FBF29BC9418D172F01AD69093736B76872269155CF3BCEF2FE771839CBA0D1E2D87C7DF4E94EA471F9D84013227C35D7112030A008BAE629BE09A9672ABC0B8D1C76A6F2534F1F5C43B6FE6992360079F493C1D6991DC145D4C0BA840DD8532E0B4ADAD7BF1E9145D99FD02DBF9AC11B15F82076E6687A3D761C8EE8D27A6204F6F4C288F8A7E5033971947331087F01DB55E655DAED292098E1BC9FFDF0EBF3F9A65B7A8E461809B9458005915468DC5658BAF7D16F197F8EDCCAF911D2E01B3D6BDED7ABAED7BFCE0F7E474454B681E944A933118794609120E04B0406573242C725A0C9649417D0816ED2F1623E3CA558FCA88FDD8FA023E431964A368C813343856E2FB847524364AFD9460B6E2D4F3DFD3A5F7CDE3AB8ECB9CD079809CDFE578699F5D3AF6258DACCF9068A1132A4975D131347D366FABC472A79F6AEDEA7FCA3C7E76574BB99607DB56C13D84BCC870BD138D8D7AA66AB291C68CD9015153A2E3ED16E8EF2DC9F863C8B74C52F71A94D56CF10E89421C8C084EB32F6E1D94AF2876980B4C7A9E93D77C4D7AE9B4ABAB5EBAFE56DDE86ABB073915664A0FDE1967257356DA4731BB87B2611FD4F296295D45B0B04C8015A42D063C4A91274E66C5F104857B7B5AD11170983552AF619F31E2435FEFF6B97554ED193A884768B4C3539199B4350B5F999A1DC1D110BD55B64E69D5D64189DFA4D55936E3C01A6FA73BCF7280F07F3BC6F34CAE2BA885EE6008BAD31A0E2131CAB3331D0890CA1214E52186BFAA58E6316ECD0A05E15893CDFA18C837F450C3E4C966E2A3216CE70E979059E442DF341866C668AB240B84D5E8ED527AC07CDCCA2ECDC79E9D350C1065877025C62081568B14803E2154120638E2E36154D21DCFAB5723A6F573593C5EE3FD501F0E82DE68C2670586E6DED01F9ACD80AE37CF98B1B399A63C96CFCA7F5EB27D0CD97E4DC3D41B3EDC98B6A4B49527E36C45E597DF49C8DA64F04D41C064C814CB489E5B7AFC480F5543B251306137B3157385DC3060693A1E36EF35D6981030F5C4781AA42E6271153EA84AC84FFEB7B59BA22A317A4D39F8E043B98CB40E6354EEBD6EEF5DF86214F41EEE58F993F9647CBF974688417DCB1544B7F27C4E1C6C82BA07882B6F162B66BD79CF18CC7A6AB57E92E852AE86716CC7701FA46979453015FE6976D1D19AC514CD0118D9578211CA00681DF0A6949B201EE6A10432648B98FA195160B56030E5224D396458FFFE969525FB756204E75F1F22E9F8C0CA422E2D1277C29695DDDD42C0CD5AC706C5C5ED154C184F11D040DA21E8340FD6612FB21194CC7480B931E68ECFCE35B08B3755F3C36424A8B902707E77D370CC7AB26F3D1FB315EDC89993AC053CADE538DEFAA12D3546926B0BB20F128AB69DAF531E7AE5BBCD59CC7978BC6B503BFE334826A971625A800E91CE1368AC70B961B35C7AE419741B3481F79CC140D788EA272C0C131A0B18BF41E583773B28078A93EEF80573F8FF2DA1FBA879EE8C9C39E186D5C3D34EB8FC127DE9A8135E1546A9EDA9E0238D9278D9A1B28BBBEC91EBAB6F6AAFE6FD73212C733DE1DADECF4014A0A8A2C875306C166C054B6605485B72A1A2319A2E9B7568418ECF6047773C405FEFBF7C583F123A2C8F6F4D265C185E1A8F77216FB2E64ED75B4672467CEB6E4C36F76825D0AF4AA0CD566E12500D936F550CF812283CF3C8EF041BE448307B9125FF7644A291F0C4E7490B8B553D60475EAB697768C1A182F95BBF8DDB1E44EA76CC6B14C28D469D0D24C54D96671CEB535EC5F75FF328E9FCC962B58C676A3DDE13814018D0166CA8064464982262611376363FDB26CFE2A18083E5C2A1B649603887493CDB925C72087A4AA269AEC3FD61E14F6E7DFE9F36400C9C8983BE6E6786435300148B30C4763B6DA82FFFC3216BB6EB49E0DFC4A4FA555709CAA5225A0EC28630E83FFBCCFE555C260A912C66D772BCEC581CE6069FB1D1B73082B6486FB50C8671F591CCE252133A01D2E7579C801FBDA62836A00FF1C7B12269DA8F504E680F30D14F8627CAE5E83B9045E307212622C974B3E4E87C2DD217966ADC677E780E2ACC4925786241B58C2081351F0A769C6DDCBD3335148124B83B88DCA8AAB26A408029B6C51ECE50888DA400B5D21A6F36D22A3A12AA1229C9ABE8593EDB040F4EDFD21CF72A109D6D8713CB74B7078A6F9B3058598F48799FE15CBFFEC98788B7BC13BD741E18543EF56DFB3FC8399EB5F9488B4ED480D90D500303950BFC40F62B603214E98099BFAA01F0F45158FF9973C11A9541B31C8CEA4480E8B99AF8A478DCC6E32DA7E770F95E75F1BD70FAA9DD1C3D7B0276F2A9CD574068A1709EAB3B17367992F2572059F7A79593B57543A2D4FD437222AF47F2548726D04B57488A61665C74CE0D978223E5F40D0A72F3CD86325FEDB2A3F244DF0024574D3C34008191F67B5B27BBF2C8E8FF43F41F202048FB6BF267435A79CD77328D93D8DF66AFC2DABB7163095417BCA79E0FC1F88FC5D1231FC3CD2CAC70B64FF79872D7A8E6820D08DF64A16F85E4B41B0801C649CE613A85758B77BB30C3736726E69F15C4F9CF843AD1CEF9648A3252542A81364E511F125D22A2711C451F7AE5F76B9996C2309FF1ABB22563C8EDE9C557AB638F0ED5DF226B741CC054144075E9E5CEA98CEBF75B07D3EB98D7F1337A7D8C0B121A38E99F020AC923E2F6DABF0A3546E7562778C75F67132C5DC2906590CC3F2770AFB55564EEB61AF1384A4D270463F43208537A08D8E30D850629423E1F2B85DD84106E41E9A0F54B5386BC9858E5580EAE3DF5EBE2AC0CE8A5CB4B2070E736EFE15DE8A99900AD5C36282DC684D95C51F29B3B984CBD581C40FE89CD572205A76C654323D07DB94F9E9C21148916C0C182D33557E9BBAEF4853E200509B6CFD8B1C97D1D960B03B46A9AED064D639111C5EA3489EA34A7D74940F1F8146DC883F66FC6A00BFBC2FB4A3E04FA7068778AD909434D5DA4AD9438389232056C32ECB719F7AE5FC55302CE059426A400126D83EF0DE86A3E4EDE86E3613BC280F4D72C7A03A373A910BD6FC4A1379FE290ADEA013E8BA8F2E68FD8F09861396FB8CCC7BCDD52A57C1636BF8E32E17456A4633351863D8FB51167856209F8F420C72C9B44AC428044438EE8CD2D8D2646BEFAC35DC7861FC4EEFA7A33FA6D10CD272473C5CE6A2A55D2949C54A75002A4C82450D4C02384E77AB3D9043608C049D1D728D6DC3B7999C0150620A697A382C4DDBB0F512CB3A6F32BE13B2EF309364C579DFBC8E698F293A320D9B7A8C8D9119ACCC3B1D9EF0BEC605A0135B3AE6FE190B6CE02E0BC8A3D8B3C3FAE8C90A4CB464ABEBCFBF197DEFCF86C22D00E35C9BA4D609ED169C5816E34059C1D001EB3100C60C4CF50B6ABC40EAE44262AD456E74D67D617E5623184DA529584ACB648EB739A4A6AA043C124E55F5E9F567F8077FBBC52E756D16245873B1DB8B1C5528F6264341B388C9ADCD6B06C04272E21AD41673D7B2ED932BE6F69785B19F901E2D5602387B125096943D308223FAB111BA8EC03CAD9438C1F3021E8BC9186F6611E6430171A1C30494E2CB6D7529BFF328BCDE62AFA197B7D9E28A77415B0FC57DA93D9757F191501BD0AC93B8487FE57A09ABF762048D7B36120B660979610980C45C4394019101296D84CB6F0237870C1FAEC9920316E206E2D43254F0B0975575BC344B9E54C3A3E2AEDE2DB097A628076520B9F62C30F827D9C7DC16BC0D6C116FB41B620F3D8C7C903620D8F854F46B6EE4C2B3D263F8783BBEE9033D10DA90387BA84E738AE7B3C075159355347E265536639DAD565380290330D4E795DE5CA48B97BD0A881396DBE84595BA632F5CED5656B2E2E0D3DAD3699D52B41107433069807F7C3227A06618D52A3EB44E6934B113A9FCA42081970C48A1E17CBA9AD3073877FE272E9D028AA03FB1685DB2DF491444C9AC5F67332FCA630E2F92448C72213BF11478C99877B1DAB72AD6EDCF11300DCEADBE64D939FCA4BF7F7F970AB7496ECF5A6CAB90C8BC399EAA1A3E1DC0797182F796AB9AA4A100194644DB2C6A515D567733EAE86C929F2859E6FED02E3997193B5FADE03A6C36E19C87D155A6ACABBA37AD6A10DDC720632BAA568E174609F38CE19F9B335DE9881A375544405E1CA2650686144B6B40B35628AF7738459889F8083915B940DCFF0B077112C3A51496EE31CB60F427DCD1D85528871E48345FF34AC0E97D963C7666A589F8A5B8430E8082A0D558F57D64F0DAF27986B0F77195181E3CE4BE350B9EA964564BFF86DF33655E83DD012799676DA0B26885D7E6F36AE9D93CA5AFB8F3B366C99D755A8F1E11638DF3C3593476DB8204932E7780FB3A378FBB5D487605F7A18FD1EF6E48A3903A3A512B881A59222DD60639D7CA0D6D7AF89333F9E024230E6D2B86539E557D0E7661C25D08FA6C2166A27B870C266BB44459ED663FCF265F7947743029AD0E103898A70ED689E2397EDFA34A711D7991203960CFC5F18734F2F038D6E16AEE157856BE695FDDA137AFA527A6FFF1DA439237845EA670BACA4DF9881B9316A501665D82E531919DFE543C93FF160BAD18C3F5BCC63F15F35A1EEE4AE746D2A0E3392B356308B2EEF8871D0321B08EC538D3F4217FF2B91D617178AACA21C5C89F41FAA0160893F46B88884AF4D8BEB4B7751142638CAF3E8953D7644DC74CEBCDE282556AF47EF8D808485E233AA46EAFE8A2F79BC7FA4A474D09C4B708EC8EA596AACE1BC32D03C9F2AEE474B07268B51F2DB6D53F4DAC10351F8F9D9B8B12C41303C2553B4FF53E1254CDE2115BEEEE9E260AAAF4B53042EAD7B3C88EB2629349A88FED5A87D2129D03CDCC63CEA5234F5CB370CA128EB51439F1DE287D05B0D4BCAFAEE1048A7E34E5B3CDF733806B307E9B97432A04F71730AA70F11BD24910F533A5A39E4F7FE55DD01194DE228C32D5519C5DB9B82087345276B756892C933A5CA01A0C9B8553611FE7819A196294AA06D407C1A9DE871DA6E298B2C10B6D2CF411E776338F943AE131B6B1AFEE214BAD3753747661F329FDDA9597C5A47EEA76318D3DDCDD9B9951FA7287967FC02BD160C86084957C1D551779B5867F027B963F58598149972B5064ED3651F2BA3AD8FD755334C4417B83EC484AB04028D3B0D32556A3E00F8C4C501DEBDF1FF6F09385F1478AC05A839D84DE47F03AC8F5CA5E6794888E62CF4D1108DD7002E2F66BC1018AE7C5624FCF373E7F5924D1D0F92D502064896B824EB95BE53B18406FF3A4E4E0830F1E966503A939B54CFFC72A887EF931260CD061A536F43797B7126E5C89F09763ED312746B81C677E076F670331A7BCF8C607D599F1D54593AAF7A01481DD6C241096CC01A6418E678C9AAC4207A923C441EA9FD3B65FA3CA03CB322F6968DB54A6994CA70FD0CC832681E93041BD11F591053BA345160745EC8F44EF46B5186812BB05502C1F94AA24BF9269FC3C2EC6DB9275B0421C0951B9374E8AE545F25894234294697A591C6E13245E5DBA96754B7F3EED52ACE090110458B335A0254A6FBAEA377F6F9D81A6EC385AF098E6A76148D4438F06432EE5C83B66309288C6D1672FEEA47BD414BB2AF964D3088EF3BEA5C6B839B7963531A9A8DF85E107A14365AD2DF5E220A35FF9386BF5D599B75C1531C12574F735026F1269653545BE1D4ED1F02C55A29BB53F2E314A8B840561ED43AAA4E9BB10370E5D2CF169AE852CF641E46B2EC532BDEB77313CDDC59CFD08AAAD84561AF6F134640C1407049298336D0DB99EA6185F9A4DA0C398BD18094EC36C7F1AC28A679E856FCF2AEA7745DA0CD441B0EA80230DC7EBD165EAF2991403C70CEF0A620D411964B174E84B2BDCB4934A92DD723225C0E07A51EBBCDD533EF79866A870FF2AB5E13E51AFF739324CC3DB9F445EA140987A704F8D98C9230E9CBF3CB5140DAE8C40F4A0CB649772360A5E93EB23FFF4B35CEF6438C64DF6A85022135A6E0D53ED3A01C7F9540BAEDC9B7F4BD68E1EAF4EAD148FEA947A4BAA46D757702C1851DB11C02288408C38B07A4DD6FA6058CE8741EED0501239B4213C0647D894A74B288A4747594F266B6475C3A7E549248D8FB715072CB45427305F8E1313F84B61950F586354FFEF3A3BCF094F4FAE495A408E6BEC53CB31FD4D257E34F7B707D6770971D53B6E0E0EEE9413B49CC300D6B608809035773CC714B63A075B113E2580887395D35945336920C42EAB8B2F345871F0348FD6544F752EC80C8C0AF1F2562CBF91B62789316B65B6BA96695C06DBA1A9B9B639AF05F572E8423C769D2E18EAA40DD3D34C4255B3C240765B898848B5A7AED0B50CD81F6978BD97689139FC865B84CB4A59541F6DEDA393893928E6C630B07F4DD30DE90CCC9381DD35C01D6F063A5C973CF90D916F27DC61BD71E762DA2D893FC14CDE349C000716891B7CEA069F71CC5F51B76008CBC6BED435DCDE90D4DA2F8C55EAAB7C5FFDF57C503DA382610FB8D420626C99818384DE695DC5A04DA4CBD1E1D3F01E773F6218211094A960DE1B7530D23279885BEC5A8DF36F789D77170DD008EB5B890636EDAC82BB6EDBA3DCEA8A9998548866B96FDEE0490767077CA272BD5E85D74229BA8E6F49DB84889F3302336A024799E64D0F03F138005B971019ABF5DA5179EE06796185407CE115D7E4CC1689E83BD5B996184D79FC5E86549B8C53C58D2DA383BB00DADC9216B4EA6ABAE059B868C602EF78277DFE789E5C4854279C949807F0F79F12E4640A62E50ED2DE0F7B4034D40DBE711E331424F1BC4125A4B92F374C4B9C2E93C2A06C3BA90593A73953A6DB71D76A55CC00C502F45A02406C1066B92778020FCB4CE767E9ADD221791BA762E7BED152184A7C8B36B57DA467B070051E6512B9BC331D3918D21AC268B270455E20F244F6DCB12AF1C3D6DF587891C0BBF59F990B474758BCF48C6807D4F43BBAEA70AD8C4F334AB49E0E5979A35E32AB5B422EA8C6875A604D605C034C4B072AC82D92E9F8DB114F967233A4E6483643EF64E76C027547128B8A382484F3058E3EAB9226DB43668130E177838F55D49C7BB49EE21399372AB56D1B6D2CA5E9DBA627894E9CBF16FBD8014079936EB5FB8B2E1CACDCE4031409718D8A548E526C0E79E3DC9FCB046F0BFDA3D1A81D399B9663EA8692A3F33A6CE6240D9FAA34CD0E7788C273E44E4A6C95265FE93F65F6C47F01FB2BE5CD26F0A0404A865C5AE02B2E05628FDEC5B9FB22293CAED6AADAE1CB75156C625573FFEBDD3DCCFAF863A6587E201F041D2668ACE9118651C5B76ED686AC0AE7383028417226B96242D6C39125D5A99040617A1CFA962C416D6574A937F887E03C3039804C29A7678F4CF02585A165881B68138AE9D4CFA8375F6AD392C2BF00520DC80E5161BD1031D8DD888B7122844B21FB6F1D337955F4DA1D5202071F69361939BA9A9CB7F61AA2BEF2E6D74814420B6B8C30B9CE9E900A38991537EB1FA0C2931A4DEC420C5568F066F9244054F21A982205E0F63E7D170DD5918551BA6C1CF0FB6F40514BBDBD2E3E77712493F3242B0C0272E6191394172CE31923ADF72EEC42DCF0CAC5F19DCDBCF81233149E11D16C2562A70EB30F3A2393AEF355A6A0C75BBE7D69B10DAAFAA3A49FFEDD2B016DB37A283C306B395EA775D3EA962AA705B880C036E6FAC265D007128739EE95E4509ED477114353B2977DE3429A178A012028E742E42CA1F672B7ABE65AB02ACE84F663C42EADFDC263F769037D6C269F747B038D99BA96A0CFF86A2896A8FC7D1989FC3DFCDC76763D69E16EEC81DB3FEABCCD37476CE4EC4917180C7F4445FA5823507827A8E4EF813848265FF0D87FAF9EB89BF35417F8C9059BD5E61168E4E6CEA1BBB60DD6222393EF0029A6922EDF49BFBF85A121195ECBF148D2759F644C00F0AFB3F7A31C4E55F8AAF3CFCFAD37B92C1B974A69FEE75CE3AF9857FFCE4B27BD83DC876D83119720411E40F9E524C0322D8C7AA75AEDD2DA3807164F9294B76E2DD6608AFD06A547FFFC94BF6098B69974515A9846D3FD96FF8CB371F8A832B5C7B83CE60C5DD54056D54974BEC00793C39F59BD67A865ABCDC7DF16B87BC6F92D99C63B7414A6998C36397C8B869688B5DD950B272BC5C4394DAFE6FB1A31CBBDF950032A32352197DB43E6B2A6D432527BD1BDC80B7CECA2EF1AE14AFE0360AC8023A8D5BAE1032CB2FF4F70F3A207BD459B3CCF61CBA52A9EE938248BE61C8D74A15A8CBEBBEC91130A6A07597D3533265367D92816F95538ED368254A2C49228FF188EFC62A9111BEDE79CBCA2A517E86294761645B47D68D8B16A0C8C780D1AA3B35149099F46E3545E2A6284850D3BA0509F6F01380A9522370B326EF66BDD9744D9DA61E665613D9A2A721EE69AD14FD206E949FE601F817DC02220ACCB5441D946411B63A5E6782DDA7578719EFEBFAAD601ECA9A023D219A624B306AF5A8E0FF3E1867F3777A2DD18E54A358D384067A19010F2443B4346284BFB3C8AEA87523EC534A8204F3322C13166BD8BF8E354903D12816493E86C3C68DD133E9C64596617FC2E6318BB3870045254303446CDBEDE6BFDA05462273C83F3B6F1164C4C706F4E4CF9D3C407BCA6E64B6350CCE21D5B5F3BE0DC549E2386991D134FEC66C185B92B89B9B19C5B050EC535AE009445B0B08E5ECA2D519981EED004FCC7DF487D6B374E9DD4A529B79A04A3C46024DE77AD9E6DAB8846CBC4CE765766B657C8632F6A51C66E485EC6C41615BB8CED7F6DFF87272F4D8D0A5AB9E67A041D0D0C6FF2C1BC2740BA364C103A53E1FC3B1F08F1CB5EA20AB0A68A7DF13D9D1885EC54AE40E091AC58E96BC843147BD73570D8D2B66182D98ADCB03862348B8DB5E9B3F16B39A59561DDF05A468B26E4EBAAF3E8446ACB97B3D43C96DCD515CA26A645D16CA16642FBDBD152E47864CAB2DF0E2D5E5E5AABCC2CE5FFF4F06BF92939D494F337C01B73ACB8729BBB45E419C729D41BB2C9C1ADCDF5EDA9E9E25CB291A5E20D7DE00647A98B842FCB3A9BAF6A28EF7501187D6B20571C10D481FD11FCA99756F7C17DBCE5897C8FD59538B69E915BB57DB273DF11F13B2E2531DF4B402AD2119E274BAC8A4EC998B01E963CBD348286DEE6C449B9DA958BE5464E49BFC5D2F59F1FC46CA8B8BA62D36A6BC829D8D14ADE5DFB331E57E5D52A5A1379047518294DF442A865052AC33BD13CBAEF622538F04E5E6FA5E4C97CD87321EB1C3A7D3A19BB3BF3C6EA4CA7B2EE0D025640E98578BC2F026B59277185077C3131E83BE661FD8BA2E7A264C0579D7B049490DA9925E94B6647908237A78E03B97CF6B8A9BAB7FF9ED86040CC5CC80D34BCECB1BF53F616AB84437364DD363CCA2FC86C44E379B8EE9F7F0F4166622525284378BA665164F1326BF9ACFD191BCAAB35A839C9F1569A94CCC3AF7CA72B7D48DBCACC3D9EADD6A22079899E235FA26A3E52F5BF98B8C4F259466A2F63BBEC04B50CDA106AED90B4DF23CDF9CDB513D1CF6D96CAB6A56A0C1AD5F50681ED4824B180F10A1F9D35ABB48A4146AF01822655C50FB9C00F5AB140D577490C5387306B9AC64A27E424F7B81D229D6287D22327B0F3EE725A25E69FBFF1EA51E244CB5F72DA7567B8527AA92177C3E4BBA0273865206EEBE3330024224D8C5C5F896AF0AB5A0962A8665B66A5EFE910AE1CEF74768E7B91579D7F18B8610B84B482878F7E3A6B37649D10AA6353468D8F4CE86383EEA136524CDAF973DED1960B6940ABC2A3BA0A3EE64B4357DEBEF8C04F13A3333AC681CE5025E5343524211C86C694B7CEB8DABA2A2271766BDC047AD64B8BB2DE70958DF43A84A46E3711FCDD8F57AE62D64B0967F7FB9EE1D278D8CA40B3D96866FAA4887394680773F350EF294C5FBB9EAEF15572AE55EAB6434E3DB44D8D750AC68C3E23C002F153F8A4F183E810E94F70C09EA260759CD1126C0D798C0BE6C1478238CDDADDA2A44166F78E16B22F4C67E96744241E8188D2136135981A1428955EAE7828819EA2CA4BA10808AD475B7B0B09F5E6126758A6946E215AEEE81431AADA34A7613EF66919C0FB7A3ADF3592F0466811C608F3C880975B7A824291FB6721970545D63CFF30A3D1E0B0A164CA7EF5351A4CAE6FC5CFC80E7E84A2EF2E07D413CA5E178A9817BB2080E93B4734546A0CCCD969D16614DC7ED6CDAF22BF49B71BE323CD73299717A7F5765F3AA9DBC5806AC62EB0CE26493089A98B22851F7A4A1115AAD34B083B784E84E6763F68D9693070EBA97A44EB9349F94B8DD6D3BA1FFDE9D9B6C8129A70851E42C45924FF14A1DF2D404A7AAF440A1C49A955FB93BA44D4ABF7F766C6BC325AF1BD18D8E8B528A4D7BEC1AF3C6EA1AFFE57C1CB5917445C393C0C6C7883B43BAD51C82CB5D9FDDCE6D4634033118F0D7F7B3D3223F7AAE19F7E08F83A4EE966A39410679BB4DF8425E0DFC1964CDAE5AD271862E5283A17CA12EC9C81C922B964A4C1CE9091556C855E02A2F2DA5A607E8E5C9C275A7C8A9884ACBC082F3F2C182F642AFEABF79A4B62501531231FC01B02650EC341D1A762FD19BE12973EC75B4A4BCAEEBFEE71578FE0B2959A344049BF9FD1435D0D744EB3DB1DDAFBD60D6DA688D8AE5C3CC85256FA00EC71943683850CBD4B3C846FBCFEA86E862993DF385417B58F31D1CE7FC9DB5A9AC2D381A8A2BDB54F20F468EA32C8F502E2F8CF504D7B6DF89EBE1FC8C4B19430B3264C2687175EAED76807B0E78C97A3E237908461BA2E07A58EABFD63D3C92B0F6905350F65E49AED948111FF00FBE8D37C0BFF02032D681C8D3391F97398E2948EB2E007102D61E63637A2A7145CCEE3D18CC6331650F4C3C105C66A94CEFA252B301EC687ED36738F2A5FCAFC4292C801EA869E7976A14649AA5FDD2B80C28247BED01B4E171952D1764C17C6A0D916A57633F126EC929E3D99BFB897ED1EE720B3ACEF874DAB938B96F7A9C2860D8791F519D7AA4D19039925D386BD755DC370C7A93F9A66D9F0A1C566887EDEBDBAE639862CB433023B90E00D3C72F5BD0BF8FBB99F001E2F95CE65BB47B25F0C5BB259F82DF7E05E8CE8142CDEC85B26C573D329EB8E0B133E46815B2FDFAD80F8A0F19453FE5333FB2E83241F850316234840D70B955A994C4194BD131B46C39F7C8611F2DAECA5DE3AC88B4E4447F1CF7EC811DE3E30FA048BF788D54563592A9658785B79FCE5B7B4CDBDC1791CDF94A9D2E852178BC084890573E49EDBED730725855BFAC13B335930F5F9EDAEF7EDA4795A3DC338C5C12BFE0580D7F30DECBCCA7F3C4CFDD9894EE4AA4F75F6B5F531097EC0C1748DBE473DD92D1879FB8FEB0EDE4A277BDF5B8938D933F1AE23B2347A40DAD45A8BA2FE9F0829E9A81FABB7ADD4414AB6E796F0BADC4DD10E3F0FDC26F96BC89611A640E3334FDA5969547D84C268FFF9E055A2DAED129DE77D9735865C3F65D8AD89304A2668E18BFE3FB52AB50BDA5635FBE135E8E0C02311887E6838A45A65097AE18A76886038CCBA886350C49CC1067206F82A77DBB33722E24354B53BA8A3E1833D861013E135956F1DCAD89EF87C7CC4C496EB211A73AB567D54BE093F67DC15F2087A481A4FE15B1D55B6B4EA08EA8139F4354CC3A3A6745F1CDC951A267E264391BCD9F7332B1BA66501CE72497EBB31A48B9E5ADC1EF99F4985B3AC23C28D4768DA0E2E3E9FDEB610E6912335D5297AE391F6603D6123A89A61A7798885BB0D2794D1887AE626D6508B0D8C9ECA247E7F687093318A068FC37CB29A8FD7F86F99D67748A3C7D76405FD851FF09B383E8343A76D4FA8F1811E902C5D4AD7F472F44A5E1F2689B6E0E80C2ED8008D074A44AE6B4E2F45E9E72F45DE0C0B4C3E75A75A452524E7A1C2918729E8B03F6B08797F09FDB76EB63F6CD90B880D4C421D58CB96192CBD7AAF3574194E1F6E54D61594879329A4D734266A5E06E44415F1988E5B9EC45869A2A42A0E37D774A8AD358D9567703AB9FD7F5601B225375241E47EDE24E8209F22D484C8454F18E66A961100A83FFB51F396031D5F6A575E19BAA3F2D3A75486B393E9114C5E36C82F00F9A8330506963B885B0305E4F3DA68DFA35540BFD1CFE38BE5CD5095C18DDE3DBBC4FD04B13757AEAB21973D402AB475CDA07B44E6E74B397137E9CC65F9BB0458F7AF918EDC95D425AA37A0C59091E7538186299AE398D1E8AEBA160A6B711DE34A5DD7E0A0AF68EF84CD64432D14DA9959322F01207581314B18F544C5F1D93C3581667A406765F0182EEF643A88C3D0E0CE10A6860D0852CED2683720E26C16EB9C28A715B3923A57A7101AE9CE6CAA25A9F16F67EE938FF8AE11C4F75F911C74799A3A49D55227B5B2A0467000404BAD97A0A8593DC2D38BCBDE23E220385006364A1EACA361015A3BF3A1F7C51053177B1EB29D3C9CD12C2AC035EB1A32A558BB377B412405287ED1177E08A4CC10E8871857EC29C20C940B5091D05AA6090611C58DA71A291BC91E7A0830ED44F47B6FD5CF0703CEB4F740BD60E1E360DB229F4463AEBCD870DF572C69E9584596452096DE02A6E2721908798378FD7F6820F436DEFE018A65B206F79531A921E299A78B74ED600B6417B49F89B336B95CC4615B3CBF6CE1950E6829D2DFEFF80FAC5EC67FAE31385B0A8C3AFE476AB14BD6E37BA957981E483CB5ECFF6BA8B729B1857DE05C830CF03155F1AB93D415657C3093D2AAF255A9DF729BD5ABEEB83BF937B153F2134563457AA405BBE9498FD80F2D10E8FB849CEFF4167D7594C840ADFF800D794858763F9CFBA6A92C285A8821122A15824D02FC277F906557AE14E4CC400C277AD6C5BE6221FB194B7D5A328B5AF3FEC486D8CBDCC8CED2D52E9C39B4653CEBF749975DFA29FD8C87C72608AF51BA571715DA95D6BC31D57C726061FD4B683217033900753CA96EF8ABA2078DD44EEC9FCC42DED8C7EE9E597942B600E9EFBCE1CD7545AECEE80ECAEBBE7231B0EE3FAD17B7017A2F5C551DDCD356A3376AD2120B7EF9B0653086F4ED957CEE84BD4A88DD8A64D3067742153853F83FBE8B33AD737829D7AC3D00125D150B08734B373B7F2A395F7943A190030A54E28E91F0E58A6D72C1338573FE554C18316427ADDC188B37499AE1B5B000DE7E6FB2478BB2A2E1A1DEB502E787AA6F72DB54D88FA8D262BC8486453DD11EACC7D273F3365CCE547CAD74FCE4C25CAA0DD547F2CB0D77959CF43E1B37B4C17F097C77E9769753A2C1B7FA91A4BBFB7D3EBAB5848EBE60E9917EA85EDD9AF0FB93E33264AE57D4EAF2E6EC501FC7C74451D99BB9EDAF12B39994352503EABEB28C0D021423617D439C609CDBBDC0888BB50520DDA35045E9021EED5D558F0BC2D31223CADDC9AC94BEA96A6F60ED6D535A9D1575E4AE2CA408371745DE0E2B91F084487830FE3AD2181FF1EBD80A45A500367165FC8CAD71A11D59754FDA8E0F6AD38FF3FBAB4BDE4C14933CA1824FC561AC220FF5271387C4A0AE20E979C8FC5317D1CCC277D2281A8A303AE9D520CFF8D107BD28F80C455B08A95535E2CC1F985E24CD41E46CE956E630BEC5DA1939A1AC8063B15D410BCD688879412A4714F37A853CC966B156192D301594F583A2436E15CBEBC9D6563CB6655DA6583B3A100E479474D65FDF8FE1A44E3BADC7ABCCFD2E9E2D3EC14F35098A870D2FFC0370B1199C8DB1D523BCBC8A231C3B5BF6D04D7426628497626CA4846371750C42AF4C2FEBDCC41A3B3AAB0A2AD60926DDA0B932703F15ED238FE151A4149597E145FE11DF61C31860131BA3FE9081AAC3F98401E3EB06F1DF9F10D11E3717A22F74727C75851F8E6C925566C66E8493B1DFDC53BB2F6340EBA242EA6C8B3B3C684821F05CA6D09B16B2A41C1673BAA70CE49D5D0C45C559EFCA422EBF5DB0EF1C372F8CE9D83A5E8AB55CC16C22063EC4A3D7C9726B19F7F875A5E126D29F2511DC08E4FA84BAC62B0ECFDF279809A0FCC5344013A46834DA4F3C9D395C8605EA3882C65636234E76581C9FA5805E0B235D1E7F8CF3CA94C479CBD7DFCCB06A4005C683D24AF5DB7F986B81FD0C106DF02CA17785E6A7F7F35FC38D5C9D6B0486209981623A5BD42E339FC2F9CBC722F5A67FDCEC721B097EA0DC9D0B4135CFAC215086DC6442663BC91C6573863B751E4796CA8E01F8747CDB9376E19E4CF06A7F7DF6F8E6BC93954B11D4AB36374CCD7CE98055160EC22791490802C3C903BD36E3B4E8B8733C66E3829F90F490A830189B4AA7A4A71BF50F24A9130C23451B33429BC66095D4B071724D9B54DF5929F5B5F33309640B1472859A317FEC743665BB01705F66A9A7D6FED17AF87BE0920D55A40B5F8D0FED0D82842FD599F694AC5D86B39C2F946F092A9556496AEDED18B5271586D03C056584EA6DD408E4A86805F067F39E5C02E2B2B921642E9B2639ADF8A042F4A709A47F4780FE2977D9ADFB6A74BFC2115E5B464B445D5319A619B1CDC8B953AF689CCB536F7B6BC71A8A02047686D35B5BA070AE436B792425BB8C95D87041FB4B9E0331B6EEB91D5E0354B961E614B70AE44C027906BC537AEEA7B4E4CC4D6E5F41286E1AD95131806FC2A5CCBA7071F0628E543D7CB38330E1461A675DC7A3F07E7C92111FF06EFABAB93F8633A18537CBF4F5FFE01C8AC45633DA0FCB43BC2758056EB146225DCC0DBE2D67D6ED5FA73DCF7B197E913B441FEDC3486F2533CBFF360D1FA8A5EBC811A8F43901B9260FADF50CFCB614EE65A0A9B74BC1227CE22525B619998A38D915D15211CF7BD4B7AA9B2A9C59758E4B22DA19EF993EC4FE0D07F3F85B39E68EDAC6F999EC46A4CC882F60DBFE769A24521C01988F83C90AB0FF95A9AAF38EAB4D63D5B77C9999A0BEDE74D5603CBCE75411B9C42E775C84015FEC603FBDE120614A8C2EBD5AB3584B8884AC7FB76A7EA96A45CC1027F39EED9DCE24A75DD559625000878A8A8DA3650734BE7795D55FA628E90917A326E4E98DA8B781604EEC898257F686C32CA8A247AFE902C09AE4CBFD33E927B52AA0C3047FCC6BAF87CBE3F3FC39FE53C5BB2459C001EE2D4D8D4C5041D3A2758E2121CD42049A5F3943A184283F6E3230C8148D11565D327BAE178D3C3B3A026624D992F3BC3F4D36FE2DBC602AE9A7CB7A8B8AD9339CA3C85748C0E763A87CFE0EB4EB61A8DD9534CA71493EDFFBA6F9F10ABA2F7A3B61EA0828FC4988F8DCCA580C3297CD1E7685819D8F01E5FE4B1CAF11E1AEB76FED71D99BF8A1724E82376733FEB266F9076AEFC952AEA937491E2697708A4FFDAB91B83F924E20D22FE67E756CBB990410B48AA622BF24C43A084F74DD39E7510C17A2F2C2C108FF0FE227C9CA8748958A1AFAC83BC3D5C2623BDD0E66173D37A5FD26C1A028CEFF333B430D85489095DF3A1AF33E10083B31C96D6D237CEB3D4E82548D8D677F14E94BA400CF4147E7B50CF840CC125AAB21F02831213F99011B893D4819AACD6E4D9D4E6E21DF78B8832B94B54B7BF2D8C44278207E868D48588217B5B95B08A7B4F9C1277E30791E5D412CEC4FFEF937D32EDA7DAAE75C2D07D3698A74AD2CADC2760C0C0FC8D9F2D84BFB4C90623DCFBEB02BA5EBABDAD096B640DDD2A15B1AEDE45A0FCD2DC6D0D4049CE0D6472EEEE4C13820402908CF7F6A5BC1D7A1B5191E543E172222999125FE174BD9B83F4269833E7DF05381DA747A51CD5A7278D3D09EADF9D3D56F453D2211248EECDCB1242A33653ABACF7FC2B187D8BD5E74E304236B15E65A4D74D1E223CD46C8ED021CED10B45B7D09F709B7695CA7C0D9DB6BF2027CAEFF9BF91ABCFF299F942FE92A89F6ED5858A8402C69D1E09965038614C3214FAB9020064067B030268B35732B7816B59132EE31AA01CA091ACC15828D8D1F90334D385A40A38BFCE60B04B686DDAE266CA0D6F808C2DBEEE16A1FF0A9D7EB4D3C5E4EC7D388EEFE725A6DEFE2CA69A14553B70F320D32EC6D340C846B5FAE3DCC3B690E30E5E7B854D4AD881BC3FD6C801C9726FBD0DDCBFF98DFE3C037D150B1D8E3169C93C41F0E3A57B30FAC8EE46F621F6DCAEE7CD1017680828F9BE8D3165AB1B48B7436629167E4C8129B97E93987490EAF649D755D908D4ECD14CF09FB8AEB30A158E7D61EBFB35FD072EC0484CACE531EF82CE1D0E34B00FBB003FAB5263524D3DAAEC6029BD0BA769FB4EFC2AACB956EC7F8CD768200839A923FE30973210C1E244D898C53A858261C377676AB8F17E22A71ADF66138430161C8514E4401D77183485FC92C7AB4AD886DE9E361038640926EACDE9A34E33A515D4A9CF26349D309F41BC7CCF34233585598E24D4BDEEE31DB3523E1EA6967DE69C67015E4D7B7CF58E3D176F6E776176546D6D2F6ECBF924F7DF774DF0D0B44D23CD440B45894EEB90618533E5263E389B8A2E0D60323D7ABF7F1D04EDD1DA98809B46D1A69CFCFAFEEAAA661F79215FE2738390B60B58D151C8B76B6D3B3B4F5E131FB1804CCCEFA361430C29FF34D4E9177802858E6F1C9FDE9667581E28936CBF0935D99B73B90DBB754A17B01231ADFAA813D1AD01EB6C786BA97261C9F3DC6AE6F67686C7B9E418CB63FCE48E3FC69A6D8F5285E384448F59ECDDBBA3D1D9E136EAB23E6B6BC11ACD7B854453AF0FCF66C4A613289E1379E359B96632866C627FA3895077430A1DDD76523C314E4B9CE7163458D2C1EA18FF63244B08F2C92923B0A949A50B97DEF3682A0F3CA1F412FF00824956E0C8C3B8C6C3568F39B02C49D47CBF32B43BD28B609E7A9E5C7E7601C1401DDFFC024DC954D70855F851C375F95888B10B3D24155680778E04D226808B5F6510636F00419FF83B0317BDE59FCA82FB80BB6C05A626B17AF9F0A5AB2E862493BA03D13EEEF8ADE0654A01FA88253DC66DA6C71F7F307395F75999B01688C3871E6FD1A299B99532D6B71B8BBC21109827D95992ED2F0EF7ECCAAC42B0BECCC35295E1C43D78AAFC0E53101442C236CB8DF44B6217F0B3872C704EA0B34C4EBF785EDA1411FF673BE688B24A27A9EFFB2130C04B4E8046F65F5B3B31F5BF2271042D46ABF7F032A0F15D1F1F6B721818FC3EB1B854439D04FC744683133AA489AED3CC03AD141E4B2C83F0D7BF9AFFAE7C151B0BF747BB13480A8B321B11D261D0BB591E535813F98A43715D9266D299845EAD72ED76B3176D34C78B24323181526D23AA7D5B12448964D8916F16FCC46A62A280CAFCA94954ED0ADA299B308B4D529DDB20413F4AA0404941CB6AF60577C417CEF5F4C9C1669440BDE1F5D80EC4299E0D43C2A43F91C6834FE31694098CE3E9172E9AF744DEFC6DE89E957B9374D345A9F8B523293420BFACEA9328228E98858B8A989EFF68F0874746910701D6DF9CF0DC491A6401770636C32218ABC230565D91D505FFECCE90AE3A8BE5DF19FB5412F2859DC0F887C4F6AC947E44299A30A4F67C7B9821C85509CCEFF13DFE6E343F741B5106D87FFA75BF3470D7ABB88233BB9F24057C9ECF1C1FE9D1F3BF8062FFEE8B9C5EFE409D41FD8FCB8C4614F02B2DA2EA4CC94F5F8E2EB32C58CD602E10402CE12EAECFB6644926CAFA32B082718DF1E4E9F04437E84D884692B077AB7DD98D4631407F2EF840B19A14CD4565F6254523E9C84F7486F66B5C6832D4337E7237F20F35A59CBD946FEE575A38FAB9731AC0E37341E2ED83F4972B211C35998DAE385C5E6BBB091779D503A08DFB8DFC38F11E7723A85B4F93B1AFD76E5F630F69459133E407D8064C977F86ABD55615E47CF79F085CAADA0685E72C48D7403ECDD6871103AB8815156558CD34274D238AE4B833E988F61801F88581A0E98EAA9979C74B1DF27A1AF33E9DA22164EEFA7B28FF9CD79E04C4E234B4377D38540D4571DF5625D360DB499E1050C0030276B7C423993EC9938609447EE7EE4E63800A000969408531EBE10288AD1F648563C97027A81CB5D2CF7B054240F75BF3187A4445B045DF85969A4FBF4E722128A24B90400DE8B91B4F7CFFC3AB98B26C9BBF47006BF9BC76771B641B244CCAD16F4A42F9C1639FC32A96D889822B5CC42C78770B07940E";
    private static final String IMAGEDATA2 = "7E28F1AA54C6EB5C47AB0ACE139549EBC88689F1930FAFE095CEECFF22C2ECF25BE77F856FD41B5BF9960CE4B741CCD3A430139817BD016351628A61EBED966B737C7E7308FF5F64063F2BE2E4AC934B71F9849D0B3EDE44D1A480A340F40041BD58922EE435607E92646D562958894EC08DCD39990B35B288823D6999C9554C977F69C11038705B0BB9B7CAAC8ED3773D17B446359CC5FBC78FC958251830B66681E3AECEF233ADC91E5778749C02096F4184DA43B6759B7D0EF2A75896E4DDCED2FA54CA791A046D38D1A708FF804C59ACEF460C9DC8469CB505CABEB8DF7DE745D9E031336573030BE8A8DD5F9D818DC945BA22E4CB11520F34A2E07CE38BBF5A70FF522A23B6E95F07ABDE303F567FE446968291E537F9C4AC6F393F55429DD7E34DA59AD433DB40CA283D58DE72A6EAFB44360ABE1511BFE179F5F9F4A1408D65481A1649DA427D86FF9416E5869F43A715B2EFE9854279E65C3DC8BD7FE46D467B6A565D13B641E39C21450FF7820A3F6042AD2C2C4D24D582C88AF33B1D02FDCDB56E2FF69D98EACA99BCCE52320F097DF321E27B5F21653994146909A780DF8CC625B5AC99A5DCB8D9BF244DB1C1F5F25C483A9B42C4EB3B9E46F8A9A201ADA2403C24AA31CCB7FCE5E23EB6E58D6A9C080EFC6A7F70D8FB72C8950E24773CD4072D3388E6E23BE9A0F5EA140FDC619D18DE0531ED099E17DE001A76DB0F38ED088BEEB4D8CA15212A5A8F46B6BF0256FB188DACCEE0AA6070B4EB52F59F67F1CB19FBEF97A94B10E7A98BCA9FFBDFC3A1F218989BB0D00305AF830462EE9E619A863E15341B018D8B88944FB7D44185E0061024ABD5C626606B6339D7D8A708D7E7AB09C4049A1A9E170C0F6846AB66113BC667141AD69820B423BE3F0CE0B1266FF8AF6F96D5FCE6F9FDB9AF23B10D684CC79721E2CCDB4110FDB26A36D4368ACF3D9260D1C2C76E7E4EBBFFEDEF3507C1962FBB3206B0592916991334188D0AE791F148C536ED8C577F0EE7A60D06B1451664712271EAEA3AF1D4557619D1ADB6AACAAF0004DD3AC773FE5AC2EAD58C30EC9419713A2D2C387C92C2B68A0DF8D0BC73F0B8F7A986CDCFCD2CA540C19CD3D06879C4B9D53008EA5236738030FD8088595BFD699D9F0E766419C15F75577DEDDE2CD7DF1DD825144182DE4997433D99363C534E2436BF7F809EC97B9964233862E3CBB7CE71E87BC4A88B2FA535D810EE90446171C3D26585D00EAA18A5DB69AD67D29C266A3EA5B7908F47A25F58523D08CE3E47521ACAE08B3EFC7C13B0C675B0A32765A60E6B72F087886579C8AFF5D12FF8A1DF84FF14217DCC0257E6A14DBB38B9F5CF681965EABE78E95F6C54A894A6319FBA8DC715C9C6D6513A90E5461D2F43A5282084F5583FAFC84C455BEA21C335A1659834234E438AEF44B6ADB77A7C6424DD7A0718A15815379BB1708A5B0D82E7F2967FA371582A8F2A4C7311B0D83DDBBCBC133D72370A5143490005329E555EDC3AEA9AD9588B0E8981C9AD590CD5B04CB772FD566E699E6BF8B447A04D4B6F0C092E6A9073F725C868268F30A17E3DF6FFC04662F075FAE2E29056D43E9363991A7A77E64F7C132B1F6891320675D8A13882AF9FEC364CC02CD056257E08ADEFD6983858354C389EF62BED964B00FC386F2616FD16F4EF308C7400F69EC1776054E9A964E5656AA33F4BE7073F5662732D611A7BAC739B957EA5AD2A72DE9119048D7FF694B8AC808D22D749D03B5785642960BA9D00BBB51E6C6C0D53A2926B698002CCE82FD9A0B27C2BF161015342B5DFE63CB6DE77815B9533D8BFC1F66FA520C5C53FB2F5C51FCBE2059A8091B6186D3CF9525915B8368BA344721FF04C579B34F95AE42E22471BEFF99330C63A818C957E24C5E18A296B135C51FB1D6F59725F35AA3B3245CADCB4440EBFE11C6BB7A12FDAEA267AE4723F593F5B878193BB1FD64EA79222C11BED07FEE05D1873C813BD89333D44D9E88EE9C3C50A88AE9BCE441130D70A685195DF0F3CEF271E287038483E3482321CA26126D7EE5C6FFF5F574394493E153A3D2FBA37AD1A29D4F2914F19A6F824B87348566A9DD90834A23ED170E31A5AA93F641388C3AB77B69963E6C9E243E80BF04AD794E4224EDBEDB3FC2D6AFB6E7F5165BE9BD674DDBBC20C486C9E227DCE46196D45FE774BBA71EA4C34A797231F186463EDB27FB8595628C37978CC8CA9872F9876F389257C065EFE41186AA320DF3628296CCE9C0BE9BD1B5EC21BC9E3895F515BFB86DAFFE2E127DDF57A13884CB30F6B261C33A2EC9E528B78CB5F858C12FCDC5EC69C5A2E297260655F02665658C176AB99E40E602C7EE4C783DA439AB890CE7315F6E59D9C5DFA906A374FA275C0BBE3EEA564450232AE9BD66D7E2A60F0ECB1CC6CBEEC03C222786C224E83B44281217CA125F7F419A053A72ECD36EA796FEA39839FE48FFE65B3A9D7AE13624205693A461215C2F2B195758156EF4DE6574AB3460211BBADD156ED51CB356B9F7C735E960DDDB4B27ADC9CAB37F5DF2AACBBE11631B6160B80B85CB12E97D52F29C5D9F1A7F3284D86115D5028A5EEE46E1FEED31C777CED80DA13ED7DABDDF65DA0BFF384200D955697FD5E930F65455E75C5A6D470BA5F284DEEC7AC5CC813D890CFD6DEDFF6F5EBF0650B56B2CD71A2B94605977D637D4A321C382BAC3B15526977D107445DADFA34B0D7FD712DD87B4C3535C77BE5F49281EDB9BBBB73DD292845CD3EA13C6AC0DEEB50B99FDBDE2FBAB4399C985586CF0C9265E08754C56EAD85D37E60FF3238DD9E79A0EB6FDD7B8A1F12F13C08CC6D9108BB434D3A55EAB6C3F89B93E50FB313A04EF6F4AAA5C8596E19211D89D3DDD81B925A46A2E2E8DC985DB083A570462C556AAC9EE213EAEE95CB341297C4BCAE0A056C78956E912DD91ADA374B1D55EA1F3422C5781C4B68E7D9E1A0CC0868D9F1CD427AC32F2ACD28A19E90D16B91F8DBF380F65ED81397B0F84269507D4EBADAC93C24898CB205A4D6E3CDEAFAF2141FBAC25AE6D2AB4022F0BFEBC681970FA996E17E478144123B9CA2B733FCA58A94383F24D99EFC88074D7A24F4612DECF02DE0DAD6DAB2AB783D46B63FEF494786EA6E3E3E07ACFF5C2CD977127F4A9E144846D93798D44CF64A263878A8DAAACBAB37537B00E2599073FDE4D7807F40652FE54852146BB5A32DEB69DEBE0A4804CBDC38B95A7A2625A5F24CBF73CA503BCBBF8A60EB3EA620F057B2C820F9FE589B9FEB9CD32D85CFF529F7EDD44DFA3D8B7220BDA7041AC35503E08961961F879840A3C7ED311B01E80690EFE4F9699B300E5F06D670882557CEC8B80979DF9C975EC14475B1A20472666DB39E52DAFDDA22971C2B9B7F2AC4A5723776F3994DE7D6AF5E397277A1F93A2B6362EF1CC808C9325547CB1449EA42C409C205904CF2096063F7AB31391175FBD69494F3AF5415E9FF55ED7A77EB975A4369D346A3C341C61BA2B227D55B6291ED5D08A6F3CCABDD1B2E6719D83067CB7C2E1FD298A26AA13BB1F5FB50F1F323D7473FB4C0CBAAED7366FD8E79AD270EB8ECB1DFB108AFA262589551D1BCA0EDADBF4FE72D27371071AEC6C0063624896FA1D3EE96D68065BE13DC4431E57A0B54F3A15FEC491324B21532610688BD60311CAE693CB1BB684658EB7FD9EFB8D42E0C71D4BFECB4EDD2C1EDD97A60FCE8B8F16070533A6175EC7E1B98BC0E7FE12B9F4C39BF9EE95FA86E1500192482D50B59C2C00A395AEF7041100B054AC2D7CD1B54973565BBDE992FE723B140DE6AD3973F5F38C05508314495878D512C320C60679468CC807D8D250AB9B66B0652ACFA91BFBE18BDF5D59F81B33FA0FFACF78D889CB53C84C97CAAAB0653D720F207F67908A9E63CD977772E950BDC14AA9216177AA69E9B270C65116E1A7578B21155ACDA89EE3C6A4CE21A7CB4CE944F8E460D729D1AAC15CF5B4D064B5E51EBC27D32488AAE59B50914FC8758FF60127004603AC017EBF6E52EA2035114C6CCDE0236583ABE1A2DB187F71B110977D26EC449177EDE1C5A1EE871E3EC0AB2DF1B97F0468C5D0699D8A183E49272B46D8B9826C1529DEF177BAEC360A8231BB665EF47370D87137418ABCFCCB2C2416597433FA67FF638280D4DC2AAC99B41E3B25FA5AE478C6A38BA3DD0543363F724E8A6B1F6A36A6F514737ACD21848CF07DA7B6F6156078A96B5FFEE101E4759BFFE21F0CC3D65BF3880A692EED29D8CE24CBC0DA0F774FAF38E377E98E87CADDC82CE7088C74EA06B44782649345EDD58813A17145CD0B52DDEFF74D88C1206205DB7402AA49C34606C8588C2BC9EA466597ECC75C09C40032D8C87203ECBFF8C12445B01FA29806DD8BF3812647F99C255428211DF9869947D288AF086D11E4F1A6E6721FB1EA065CD18873FD62D31C1EB9A47348DBFD00DEC0BE50C5E06125A6E3D6B73C87B803C1CEB17E4BDECBF900869D95784BFA6DCE1DE48201D8B78A13B8805637D437AC9FDA5F19301595B5A64B3A4C192463F5B28906B71F63A0684FCDE876DB01A47C916B84D8A752F7AB665094DBDB055C5D041EB6B02775BE01A742145DA141D1A6FF77022FEE0524A23B1BC24F8A6D8232B7122EB94D6335894F7E8ABB93A7C5FB1BB1B494DAD04D8DF170B125149A54A3893C2A743AD12AB5D2F191F84F1D0C2CABA99A68272B7463193B9C346C6B880041C9C54F3501BF32D4E378517BB606AAE0ABD7B1B27260B27C9542985399A21F4B67C045461D71FCF5CF28E535D9074A101449B51F72F5C12CBD72FD81EC0602106EB63C43581BD7998F19253BDC23D7A3ED484B127E5A989DECD977DB0C4666B609786899FFDC9347781F490D791CB5AC48809A69E1536B7EA3FA00007BD40E6D6BA7C30911CCA60601F2729E0084EFB7CE737FD67B6320E1C7E3FF500CE66FD5CC7AF7FC29B3467B4C96CC5C768E79FF100EC5C103EC47D7DD89BBEB9BC8DF06C876EC3FD88848EB633D0B0FE35282D867AAC3C0C05921D65D51829C935EB11482B68172026CAC0418DA12C12931231B0B7C861C7ADCDE8129E05BE10E8B8D01E07C4B471045955F2EA501081F46D6879E81B33A4887F030F8A4D26E6DB0961AF15A550A91D9D80FABAFD07F3DDBF5887D39E015735B3C80FCF5C453B0147C779D912A29F1DD2B951F25F43549FAFA6750307E971797863507E8B0C0511457BBA6786A5B9A44E61FFA1E542864774B3FAE939B12AC30F0390C6932AE18838C19BD47B29A8A50CE44646B31F6018284FDB8E7E3C5C83F70AC8BF8A6A6D6B5269F6DBDC534944BE39743F3346CB97D1A460D2BF8561A7C3CE8707825BA02E187AA10D167BC81CFA9EAA2595E895638894262654A8FD2C9B8ACCCC926CEF77F15F950625E2C73386158255248E1C627E5AB220954B480D1AC742A186069F6293CF6197CAEC4DCD995D6A1CB3CA62F9555406232C7C7AE893B074D5E04C008A2EFE2BC4E9412F55E4286E1307C6BE08043032773BC869BCF74EB685ED6F303AEE84EEB7EAA579B455A2500A9A4E9C505A862B54EF7DC5C48DBEB2446E4D5F5623A603E3D524217AA152896FB862EBFDB3F1692C6F39C51F63FB1753411DA8448B904D083B53BEB0DFB4800FC92C6E5C4A7DC7B96ECE0CAA0A95EF352A72A50466D10C4527922D23D6CA38BC8AC56D813F51D25B287F739B03C736D9705D3257B49DEA89AC8694B3A7D9B2580258C016873141E007BBA822C0059357FBC39B374B340086F9558CBAB2999AA009D1A51EEE65645E347939B965A717EB9B49C7CB1C81BAB242552FC6BED20095CB24F0A93D5242A179963023D1F5BA6C1800CC57AEFA0D705FA05099B82AA8E2239A2E59301C3DF89A1A9ED92EEC3E82380C0F23E89263572511C651C828D74355896385E917100E480FE62E26B2822E6AADD96AA1004419D9FC491065FC2FB3D07A4168F1028092F6D347274163D65C0EA400DAB97B2445345C4F32032D42ECDE328BCFDC35BECB8262B1D14460983A614DA80CFB8616A6A69E6285A6F9CB31D01235282D1C06C5125A457533A36C3DDD96DEF56EC2E99DC2EA413C3108ACA955BE9DF18AE37FFBF0A7DED649FDBA235A1225BADDC9EDDF18B4EEAFB3B83EE88036BA75CB55003FD8DB76C4612EC710053297166E3FB75E3ECB07B7D338C924CA637B331DF1732A1E6D626E4F81BE5A02658AF826C77FB942C87768C0EEABF3B2E8074D58739F5FA98942ED37ABC73A650B0AEA09E34589582EBB7E2ED77EE3F51EFB3199E8C695823CF6091907822AD42B11A1C200BA38975F81CA88E0DBCF95F1C6D8FDC33291B7E2212CCD4678591FA7A86D5A6027EF573496DA35C0145250DC3B3E10FF2E728A5B414279A509DDCD5AB929A89025D9CEE3DBED21CE52C42E1152DADD89F3E21DB5AC5F8334B3C43ED7362494A4BE2B84F631960247DD420F1FA3BB373E871D5465CB2C79DEEFEB376DEDF6907CE431B52544F2850E171A95E9E795FF8F6DAD2AC2E77F1A2ADCC23947AF99912E276A7E7218F17BF70192D1C75FD724AF0DB9909594461F3BE99D5E041AEE2D30121128314E3DE5065F0F14D1682D2B3A7F5133F0C85F50EC0A4DA4173F450FF3AC41CA6038F5539AEE8FDB03DE6EB989F304BCCDB85EBB2A5B9CE629CCD9C923CE7335AA422576337AD43E5E1B7D62B1E278610097676D47A2E8DACB33F0F636EB002C18AA9596ED686A6B9AA7AB75D856650E5DF589AE15D627AF86A22CBA650100DDD386CE8A10F7E57E6A926DEEB0E479F036BCD3FB79CA31103F2B0C3AAB4F86A7AC52ECE395C4BC15632C42738AFF4B43F95A635425157E498D35CE323794116195BB130C45F518BA8CEF9687127186CF8D87FB4D564EB3104BC0F73307BE48C05B05F309A2BD09E9F5AC481C514A12B88F55ACB1128D6471B6D2845D92A79DED74207C1D1FDD182BBC44210B1BADCD056F7110C6CBF459322D99D508E5FB9175039EC577439A420B04F1FCB80366D8EB1D7CF7DE2AF04C92C6313FC5979CAF35111CF615AAD7D1289F5141B54F930A927C3E1F952B35375CFDC6285124BD6041C37F1036DD78EE170CF8FB5F27E9384632CB888ED7C7D6100A88029360EDC4A3DEB1AB7360F16CCFE34D149BD337F74AE9DADC36A7BAC3580A3B367B044B7B08A68690A97C27AD7106F0EF2EED5EBB78C991EC1968E9D163BF3B8914D5E92A9FE311ECD80C6BD61C2BB9E30BB41894E1569512BDEC808D4ADF536509ACC647EA97EE304C15F387C186B9C9FF829F9AE32C7140C7C9AA29B42155DC0467FC3B7B95AF6155250BFF7EE665B9FC772006E4944C5D91516192997D4CA7E47F8BBFB1DB5250F449F88D210A8F0C6802D2A277FE5EAAF96293AA673B193DA40A4EFA2E24EA1376C5DBE5746BE47E6F420DC79B280519472A71EB4CE9B23FB4F638BD9F0B944D1D2AEEC0ABBE7ABA8D8A5AC791B7F50503DAEB394BF39665A2893D8A60D551F8DFAC41EFE6E8C8C8F38480F5380D59059EB0D84792A0A0AF496E527C1AD55881FB2AE6509B0BED8EA59F8FEB8BFDEF6AB612C5E7A9F9FC8D123F7CB0A4093B235B0D7F9807077580E55A7A7274B669F30143176CFCD15EB75D856BDF550820F647CF5FBC48DFAB6E72437BB71571285CC99BA1E4BF934E6FC404921D0CF79C0F005721020BC2B757B3AF5DF906D4208995D92A31389C077D58FC93755535B4A01A857BBD1C59CCA965B6BC44FF4644B6DC25FE9CBB08F893671AC496D29482B5F5AD3ED0551E92C903B62CE70BE4085E587DBC39F678688A38FBB6E55E9E1CAA86E87EEB1C1C6D16D08C2C67C7F508311241BC74D94E7672C0F5D93756CAE8A91D0D75B875C33EC19BAA62C7FF865B292581306DF76D5DF479D4401751F06DB1803EA382AEBE7F9DA0FA21ACC3A05464A9D5BC57B2BD9D91637DBC639F0FC94E36E1B7236AE6EB793614CECB735DEDD82C369C75D974F5C2933D3BF49CB7A8120A4EE79C59B27FED3FEE68E1F3851BAA8AE658528605641E5BBDB8BB012378D30039D72AE55C6900CBE452C25F1DB2B00CC5DBFEB83BAECDB394DFC966357BAEF9F8E7CA256E5B7D41684B2A2EC321D6804387A8E82197221E37615D58ED71A9DE5A909EF6CDBC4040C27E2EB98778AECBF2294C19AC665ADB961C7EC73B265867C1FA3BABA18D28FC8976C369E9B05B70674E935C5FB28AE92FAB7A4F7A495CBE2743EAAB3735251896F7BE05D0C80B0205734554A2C18326F4EE2E92596AF2717475C83BB6E2AD043BBAEA16AD331184870357889C6AFF8A9157F481CC69EF59B0B1245BA366CEC0B60524CB083357469E036D2624479FC462368282F456CF567523FB3446FDCDA308D90109D796B863644A769D04E09F10FCC89E50F0C31EAC50F245069F09757FB0E3B62AF3A9F38C3DD9B91DCCA4B58261491212A8AAEDDDDC82E24CD10AD5F4636DF60E990454CE9F3F4A9771EB40AAE9EF25221BD17B5EC1C2A7DF7483B4D27239286F409AFFC35A950754A95BEA7F8B20936396D93415799F6B1301C61FDA2C63E9790B493219181D6EC80252E6D3ED5B709B9FC2DC357D7EDF1DFA1C096C7909B201A5D8526AD600BE20882AFC31E27DD4D31D507DFD5F1F9FD6EBAF658353530854E224FECB4885CAE16AA4CAB8271FADC3B6CD049A23EEA471EF36F749BA3CA9F661C26154A9AF25D91A8D2F9863FC79E53D2C3DB09F8F5121DCAD84CC0F707065D2D56D62F95CCAC248F5763BA13DB1365693899666BB6E7044A433B237C7E09E4D73D7E8405913A333A7FACB2F1A1E48572DC26ABCB409444DA3E112F2FB6559619E3C4E92FFFC7355B0D16343F0A6074E922F6A62E54295EE92B3E5756EA3EF32C5CE51CBBB9D39C536EF06534CF8552BACA921C899D0637CA739CB97F5897141A2584E538BBB2057325AFDF9B9EAF65E9393F60F582F0BAA673EFF6A5E18BF4C62605EA157C084D0943693155062BC7AF31B58CE43AD771DB51D9A355AA218613889BC967F2A0D76A9B71B8978E0A89975F9F8FB8FB613BB1988CB39ACB84447582955B66DAE845456A18D6A5C5859888CCC453EE205D2F591F157DE9D48D56B1C650212E39E09CDF3CA80E6CCD28FF0FAA1CE07776E234ED2B28FF5BD5A0B9A28BE1C67EE566F80BA8793F8F0BF2423A7EC9686B443DE6D3CC13D98DCD18D803E1FE7641026E2B7D80308221736CC2EA6D075DCF0ADE310F531CF7C5B3A357C52232EDBFD46548DE327851A5875F50294931D5E6837104BF9254063131366C406305CE07D4BA933993A20148A45B20C4A124030A8B6CCEBFB671370323E46B1A6A8B8C0CCC978262697726E2271F61372520D961FF387BB9343F37DE99745682C5102B6A36B038078B8C6A4FB429A254A1CC7D3255A32A4AE736E460096D12910BA5A4BD1DE6E511482E9B01D91D77E840F2C416C07B1D64BF494743A5464294F889BE17D86455673C82401F92AF463FC601EE32B7987B0285CC709462579BFDA190E36064243703D675365E196B1D347B4F77C2067FA4448208DFA89F3AA6A8866E6D5CFD2CC5C25B9DCE683EA06041220CD6F1CF5C9025FD5994A7A80979B1D8B7026119F01BD64B9DD745A8EB7CA67466A18FF51B18BDE914FEF741978C72163CEB0DEE2671C65068043730C7AE73BA2517B73689AD1FECFD01E43E7CC962543D5DAD8FE491EC20E737A76F55C118E83CC968AB267084840FE71D721E38310B5CCF066F862BD77DFCCD3061C1A70EE0AA0E90038792FDE0C703397F6B27007EAEFE8135CAFEF6946B612513E89A6713B580512CC8156113F7216122A11F7F64EFAA962C064655B39EB4C195686B3176419F7FDC1923679D50DBB58D20BC878E561B7D2EA997953B42B559CE2F4FAD7C01E3E9F05860047A86B8BF0FE7E947BD39085B89B44C502B66281272345E44B93DA90C267D3D03DACC4EFC50630B2C3EA13FEF70A7839420D08ED75AD2AAD219A13BF9C0CED8A0B2064586B85B41EDABBDCEE7CBE925B66DE64B8A7C4F2F0DC2635A57265536694F4053A4EC72D16E4E2139578D90F4D4587F414D8CC2FC7C6631A72D257886CBC83B0EAF94E699164135D1D449B3B6522454BCBE8CD5FDC3BF90BEECBC32F2C104ED8215CC83F33D83D2C7C0761E7BA77060442D85DF68F0AD9626C4AEE0992345668D74DA61BB3B41385F9E589E496940540B7A29F1BC641AD305D32E0498A0BD141F25F48F5103A126D0DAB3B522CF48AA98162C9ACCA05B96A3B51660EA956C61991D4EA89880FE19E857C1BF1330B254CA37150C9A1FE2FBB7DFD79E5734CC4645D57563131F181B0490CBA9FF6083E3B5A791B5EC5AFA8BB5025A2AB823023BCD77C946F64DD6E7DE60E014D952B7F8A56F15CFF01F0C47103FDD36C81E25A14846F2FB6A9660AB39CBB28B74FA555A4F387CAF4D52E0C608128B00114225B369321B3CB00DFF5DDFD29603BADD3BF034BE6F018E6323FB89116B1844B3D6D5F6E922AF68A0FE92C2D57929A991D4E805AB3EEAAA5DC32103A7C79460995BE17004F3BC7339426B795FDA840104918AAF25DBAF4486E1AE0445DB88E01341DCAA3A803F6196C78A5A01795BEC45041A93C4065E41843DE94C694DC5180C31B902B84DEBF25EE3E409578C0B738CFE7C8608503877AB453A95392869994E5FF652F4103A19107D9E195083B666EAEB206E72803099A7966E89FA410F430EA38865CF798314FD892DB58F94E51BFEEF7AAC9C27E7205C38733D70A36D52199368C070847CE9BD6EE2B9198C96B37FA00C6CB8B7EAF2B1D53D4947E6E3D0C3DC4677E3CE8E6E6100E3C07E36406B432D9EE898002038ADD3FF5D3C80DAC6150C7D2BB9B182E2425A7C5203C19A886C21B8BB5B76ED986E492573C8E419921221D3EF937584EEB0CCBA43E04A26D4560D4124F7D20D49A224429512EBB27ADFB729821E1A9BFA328D391CF2808D7805856413AF69E627C5BD1C501E5DFC69FD1667AB1CA88446BBD6B4AB2FF47D9C290CF8BA20C368C37AAFD28A6008151DBAD1DC308E55C75F6CBFA18D329705B67E5A9FAAE4196A5D3C471991381111CC151E9C312DF7928A304DF0B42CC5F878754D5FA799C93CE9382D262145FA84081069C04DDA7EB4DD079C6807F51E6CF44F413FB771278D6FA2A4F8144581FE9BD5AD701931254FC6754CD16872078D8C99CCCE2A2E23A0863ED79D7183C8B46FA0D2BCB8409A7150BBBF7B674C9D7E06027065D5BFD72B1170BB84C61D1642BF5E4E22C08A7BB2AEBC5D6E87363C591EB84F72853A214977FF119156BAD6787AE5CE47EE53E5E4641BD45A7456AB4CBEE9C8899961972A5D2CD3A3B733C7516D75D54763E46D46A818C1D98DC188BA046756F3938F4A524859FA30E57AED4DDFEDE4AE7FDB33BE01E50B2F3CFA4C88C1C8FDEB7D52B246FE88EA701F6B449D7DA4A65127EAD997A74DE4F430697BC73FBBF8BE65FDE5BCA3B147F1E4AA75F70FFFCB2B896B669665AFB6C0812E692F31BD0EE2D51E1F6831D8434CF3A827F23B003B22B5D0BC48369EBC1368EE58B97FAC3FECE0BE53EE03F3580963FF9582425ADCA6039EE0290E7AAA4FFF951C5388880DBF6A06853BCEA28F9EECAC0E4444720DD28E7DECE122D394EA184BC3B611C7F7D73BD0F9F3C3C444114F0BFC5EE52FC9A329976B8F425564ADEC9C00BB0BC990B6C3FF8BFADCAAA29332CF00492D4BAE0E6CB5738C515A7910F533A4BC7DBF54BDF842761071420CB4064FBB95A6DD68AFE6998FF1FABCCE983B2C1ABB474E90C909824FDA579B7C21DA5FF4189F3E6492DC42CB47495B1FB0BA6E51BE0D4C99C12E6C511E55E147D6873F7A287EA9B37BA4ECAFD85A02335BFBD82C5451B886B6863D9E676A54AEAD11708B66856EE409AA0DF9162A0E8666DF2B1CF77C63FDD2E62C2A576D0CC65A66A1E42DA8C3F0F8A32E5DCBE6CC55821E004014F6818127331918CBBE3B24AEA33002D31525C48CEB2456E8C3180766EDC3B323565B66286B4EFE028C8812E83FDADF2DB9B5AB426835A146C7BDF165B1C14BE110E194CDC8FE3CEC67993CE9C70F6255A3D128039701C9181AD8556364E12A1155EE1D73C3E8797DEBBBEDD04F27F6361778EF38700BC169D4F934981233DF03C6C954B72BAC8C21815A1949FD68C0390BD67636B9F3A3CA3BEA328DE8A52DE6026F038A067B3189D335D4BDC6568E2E316C2DA56A9F6D26BA02B1E6BD0C9777B4BB3D9A62090F83189FBAA93970A901CF1AB3542BB2B6A38E773C5680F159824F47FA01929F1CA2BE46A250B53E2DB9A9795AFF037ED7A1EDF3F240986DD3E70996DB2553F8649C3C58C9FC4673CA566AA8D87D7DEA71FCCEE69339317711FB7249077EF1985FCEAD6C7F4CFC507A42971BAC0E0D0B39D4A5E9E0D310B42135EE1F8BFD7E5E1B3F3E8B0003A2B997A16AF68B0018247F9B99181DCBF73314291F408539D81F8E8AE6E72E983F9CE23C3E653DE6D38F736685B55891B1CAF7146780E48239C703BCECCB2F39DC9C36C79F249B955B61AB5AE2C7BEB943A0407925AC43381A27290AB75D686A0ECB2C4AC5DD1C55577A0FA0925F677321942C62EC07FC9B2FE32C708444769C74D6B809D6561E9E8D92C5F0DDE7FFD18C488ED9852D9E9703FD37C32054F538B0E9A195F53898F4C559B89DCBD939C5B1015DA01F015E495B78E983E60EC3861899F586A368BFA7E7960A31A30A2CBA50FF9471315752E571C642E6D1838AB5598285487B3D59A4B526037360B813D53B0A872DA39DCD0B01FAB7DDAFC93B6C1948C52E9B7083CA2D7D592C98B52D0C4194233D44696E8FBAB6CA91C5B748CC6A8A76C8E617D3DFC855A39B1B51997E70FC417363497828E284B63F96A8EE61C743CF92983A85C407FE66DAEC1541567C5F28DA7B0B7E98C0B25459D44E0D7553F53059D2A69DD7707DB68B26280486C7974913807AABE5F9E91714D09AD7362BA3D0D7768E462D5A8451E8893F558ACC4F0469CAA4EB32A2922DD24C05F0E1496ADB3C17E7BC92CFF9D97B850B74F22F5E133CE8AFBE39E589BBFBDC705D139D10E90C70F22A3C3E34FBCBF08BE4F72A7C8FA29660E3D668C7D6CDFF0AE2D9F1ADCC5C2786E4600A867731C7F2D9B784A2141F092FEEE0D9D9A46F58A1E35C58DAFEAD794042A4BEAB87E3F8DE0FCD8989E042423DD1E8C7622B2A71E57E5DEEE8F28F4A83F61626000F32B012531611C11418E93B60A551F31120D99FC706140B83F82D3ED336CB83907294528EFD598A33FF53E410B065B1A19EEDE0C19D511A923886AC415558672F811A04186C6B5B5B0D9D5CE7FC39386C4D59A5DF918D17AD6E8FBFB247E2462146E8C51460E42DEF5DA8BEEFDE2676F69A114AD4F28F781868AD309FCE73C4B21F2A02D0A3C4C9E5C638DC04415799EAEEC4475462CE17F81EB8E5BA0F6EBB5B10CB1BB6625B224B248748D247F30764674048230D68E2986398BD29DC103D302AA073AC193A02F99C4448003DB4EDFA3DBE1588994E887DC7A2DF5F4C547FC35E0BB986A463B1EEA938B0EA333726747EEBB8C11A43BFA6C576E004798B4FD1E9BAA61C67314908C0C4CA866654EDD80CD478EB52D0232AB38FFC357745B14BC51D8D000F5E6A8892F461CB9F8059E4A1BAEF62FF54F3AC84F48B0559FE46DD5A2D5A3BD0A1661B2FEE1D04E000418A4ECC7B4E3600B7A71DC4BF4466CA8E0C13FF37FF28FADF0EAD9BB61E191567DDDBCB585B4B1DA458174C4081EE7DD99C72D02738FBC45AA845DA03D6F770E1828E2FD56C5052B3B9478526D292D800234AE6109D03F5BCD996A64534E9848C21981D54A5FEA9FA5051031AFC81088FC62D619E3E72900D182CF239E57812E41FE961950E0E4575DDB0249A5B17D986DC9C44DBE5BEAD14C1BDE91E2386B13F602AA9F0ACF9F2E6F291E19B42EDB0744DA2F38A829BA73350DB9DC279E3DEFE1C47A9AB9DAF5E1E1A0833D29334668E4E2AFDCD21665645D1151BA55EE0A28B842BB8B257B289525479FA9CF792F1B1563BAEFBEE35656538D4B77D50CDBFFF210EEA274BDA328CD3436AEA5817E08F5F5142AE1856E1C9448C5395F0B234E2AC2311EF9D195CDC9E86FCC474CF035209B65B19C6149556ED3AD9842A2D9592B0DD75C7AF49584E300BCE26746E8D3855D84220040FBD0305012BACA8133421A45F4D009EB66764A4CFE95374C365B132D6CEA46F3963765D96F9FE200B09757F2686A7AAA7BD725D0C29D4B1EEE1A5081F1A12BEDC2AD97083F32476E5907167BD52664A30A5458A10EF361528C26DE5526DCE63BC0C3D045EEBCA94F8AF167C2FCAA017C98956104CDFB9FA61BB509F56FA810FF5253D8A84B384D711FF15150757D96119C3D65740161076EDC56B3A7885D9C0AB34275B99572D2F8AD7D1DD17F2B36153C2D3972903F8280691FF4301F886C25A35DC0644BFB5BC9C477B293CF0838BD56E723A0206AF5DBA95F0137F195C90A3FBE0466AA42846ED216CC993AA08C1D2C7DCC6F9D46B7E487347BA08D1BB94EB37E0E58A1D0867B62EEC25FB0B757B52CD7EB1D3973F4CB62BDB6FBA77690F113DFD9346D7C8F9F550977BEF5C3E557F2F17A1454C2248F083FA35C12E3B2243BEBB37E29AA6D3F9C0E935486700839F120299E5F5225F36787B43AE18D5AC113EBDA6253C65B447BEC3CC8D23568D6860190D80DF79181772F8CCA2821B02F6A5695071BC852F88F8E382AB1FB7AD407C90EEB16737C83C78DF32CAD8D80961A684989BAC145ABEC359304EAD17439D1281440B57AFA31CDFBD33B777B3BF9062DC3932971AE639A9934E66DB68E1F4F12B93E7E4E83DF5B8ECC64CF13057C5DE8E3C6E79DD6A93B82798CF9D72068E73134764B70D6AB6E4B58C6453A3E18DCEDB8CBEE21AB8CED654E6CDB53E041F9C5B15F714DC4DB7751ADC98A11D946DF66FCA22BDEB63F9B6A277F0B9BC7BD0CAF79C51DF9B985591F06F5CF1CEFEDC9FD0E6645452E8BC54D824E7C3280B0284F8BBD4789E99C931CEDCAE3176FCDF1A9CED701C91EF4BE2F65A26DD4F63011CBF30C54243321BF1686297665498C8272962F615894B58423A5CCD5BD067E585718C8AD655DF75127A7E7D90241635361AB2C7E128E9E64E130F7D505B751BD448DB0C5836B3403EE4F5B85F6DA5276EABB0299C182710B0157DC3CF3ACE2DA865238E79EAF5D542D87BD66F7E2DE539C49F8B277A12FFA2BF15A8670522583A36E5021DD35BC0D645544DDF11CF7E64A0C018BC9D5A1A01383C80F2F3CA0B696F031E508858B1183F52CE358B4916DCEBF2FAB8D09EB51129C183EEF95F4192FE33BEC1ED59631974C6E6E4088FD063F85A208E8E645559D4422BB4EEC37E8A21A1A0E77DE5AC248888DE5EBE51AA55DC0DB49CE8F30C4AEAA763AEA027B6746DB5772FD53B20FC37548A095052B7764914AB8EBA3479B57180049759196E54CAF212A0C0CCA46542F4A2405985756982D8C4C5F1F573386B6C227F3F69141CFD91AA2A4994702F3F7B1D3CA69B705CC84CC49AD4BFC7E5BF55BBFFD566C41707788434D9C898B81D1CF5EFE36A37DA765EC09E899FF8E55B1B7CEF2242080D251597CCF237425C54686A982A48EAA3B119B59D86B6012B3119EF28BD3D649B9424A3897260AF812823BEEB60DA4B29ABA2247052D7635D6B99BBB368066AF047671C960EA0C1265437D774F2DC73E06DAFC66B77ADDC208A74C1B504BBAB84C8B770E4CD65F0A63303F06CD70D7D8F3FA7B8557346EBFD454F232E7D489727DA2ECF805AA4BAF9FF7215C90CBAA15A55965D3109E371BCED23426C94C314092CF871E0C629CB1747E9275B89CB969D4E9F6519180D3F49A64BCCCB22FF5AB87510D46167226366A9518F87E228BB970D148DCA4C826EC801675A8DD894335B11DF2D07F35B96FAD048DBD74CE0A1FB3137BFB4AAD248B90B2DB6203586F6960740FE72B6AC900AA09D259940C4E19136495B459468268071DDE7E472310B6915724722474BF72899EAF3F44EA47F99D4D9A9E96456523FA85CB7AF3CEBBB382B01CB8E10E06473C37A00F1D2D7F016A8CEAB49A8E6BDC66D27D6D71FAA990439C78A282C7424B36D0814DED210C108EF0CD1AE486FA94DD31F7F8E71BADD5FB8C525A4A27DF9F811714A24AB18EDD30BB799A8716BF719B220673113A9306F84BC553855EC28326AF3BABBC9A292C01077CE01865C71845ACD240228C808D7EBCDFFF8F881B84B454AAA93B7A93A074641D435D2E09462AA8945D4B5F944ED1F0CD291A5BFBD9A8243872F0F4BCD3535777F781B0346AA662AA1098E3BC0400999C381BCDC48A89E69688BA1B9E3D6086C2F4BEAF30C3B0BAD01002CA163AD41E40BA54D5322790D2AE1F9DE75C83374EE1FF455C1FEB8AAF1571CC9E35AA4529D16A6F7678E62B5733DE1C2636D17C88E3AFE28A52BFEEF78E84B9C1B3092C65CFA97B02040068D2EA4FAB5FCB0A0BB84835B31841E539EB7CD19C8900DE27E38602D61BA75763E5CE677403020C78C89C75A76010AF50FD9109E3ADDA0E2850443E81E8AD06A19A3EB2BA56DE9144239F943BA550E1F4A5A159487FA7F8123EDBA250B2CDF09A45DB03BEA2BB7C5056D610F154728184BEB7551C42C869BADEA535F59482A0F9F05DB24BA4508AD7F070B951239C3CC080A06B01F28A96C1CF0416778BCAD8EB1432BD7FB8B58F8D01B0AC4E2941FE0868770A49A0E9268D69E615092511CB5D0B11057560CC85CBA02E5D6DBAA9C08017587027692518778A0FD6547A620D17C6E28D94103C87FB97623E80D32B644011C5ED188FA51138BDCA0A83894D187A3786F5498DBC82808A8409E0B5ADC89577FE060AFBB081395ADBB0B26F1F50F2A96B6F127CF6051D3A4853AE73C2BA5295234143B83A6F3379AE9114328CCA9F50E28233B34CAAD9689D8F0130E1FDF95DF87DE18B146EF36752FCDC90D404BCE3AE71E715844A8E0F251C3B48EA20B5FC0D862286818ED7E51346637F541536EE1E682F201864D7AB49C0DE31C75F2DE590AFB92B0DCD9760840D1CCB1DF926761328224FDBD02F96076299A13B52AD9B5714CF588E76BAB0318077A4457FB605F79";


    /**
     * 用于格式化鉴权头域,给"X-WSSE"参数赋值
     */
    private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";

    private static final int HTTP_STATUS_OK = 200;

    /**
     * 向指定 URL发送POST方法的请求
     *
     * @param appKey
     * @param appSecret
     * @param url
     * @param jsonBody
     * @return
     */
    public static String sendPost(String appKey, String appSecret, String url, String jsonBody) {
        DataOutputStream out = null;
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;
        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            URL realUrl = new URL(url);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization",
                    "WSSE realm=\"SDP\", profile=\"UsernameToken\", type=\"Appkey\"");
            connection.setRequestProperty("X-WSSE", buildWsseHeader(appKey, appSecret));

            logger.info("RequestBody is : " + jsonBody);

            connection.connect();
            out = new DataOutputStream(connection.getOutputStream());
            out.writeBytes(jsonBody);
            out.flush();
            out.close();

            int status = connection.getResponseCode();
            if (HTTP_STATUS_OK == status) {
                is = connection.getInputStream();
            } else {
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String line = "";
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send Post request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(out);
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    /**
     * 向指定 URL发送PUT方法的请求
     *
     * @param appKey
     * @param appSecret
     * @param url
     * @param jsonBody
     * @return
     */
    public static String sendPut(String appKey, String appSecret, String url, String jsonBody) {
        DataOutputStream out = null;
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;
        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            URL realUrl = new URL(url);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("PUT");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization",
                    "WSSE realm=\"SDP\", profile=\"UsernameToken\", type=\"Appkey\"");
            connection.setRequestProperty("X-WSSE", buildWsseHeader(appKey, appSecret));

            logger.info("RequestBody is : " + jsonBody);

            connection.connect();
            out = new DataOutputStream(connection.getOutputStream());
            out.writeBytes(jsonBody);
            out.flush();
            out.close();

            int status = connection.getResponseCode();
            if (HTTP_STATUS_OK == status) {
                is = connection.getInputStream();
            } else {
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send Put request catch exception: " + e.toString());
            e.printStackTrace();
        } finally {
            IOUtils.closeQuietly(out);
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    /**
     * 向指定 URL发送DELETE方法的请求
     *
     * @param appKey
     * @param appSecret
     * @param url
     * @param params
     * @return
     */
    public static String sendDelete(String appKey, String appSecret, String url, String params) {
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;

        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            String realPath = url + (StringUtils.isEmpty(params) ? "" : "?" + params);
            URL realUrl = new URL(realPath);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoInput(true);
            connection.setRequestMethod("DELETE");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization",
                    "WSSE realm=\"SDP\", profile=\"UsernameToken\", type=\"Appkey\"");
            connection.setRequestProperty("X-WSSE", buildWsseHeader(appKey, appSecret));

            logger.info("RequestBody is : " + params);

            connection.connect();

            int status = connection.getResponseCode();
            if (HTTP_STATUS_OK == status) {
                is = connection.getInputStream();
            } else {
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send DELETE request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    /**
     * 向指定 URL发送GET方法的请求
     *
     * @param appKey
     * @param appSecret
     * @param url
     * @param params
     * @return
     */
    public static String sendGet(String appKey, String appSecret, String url, String params) {
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;

        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            String realPath = url + (StringUtils.isEmpty(params) ? "" : "?" + params);
            URL realUrl = new URL(realPath);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoInput(true);
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization",
                    "WSSE realm=\"SDP\", profile=\"UsernameToken\", type=\"Appkey\"");
            connection.setRequestProperty("X-WSSE", buildWsseHeader(appKey, appSecret));
            connection.setInstanceFollowRedirects(false); //设置本次连接不自动处理重定向

            logger.info("RequestBody is : " + params);

            connection.connect();

            int status = connection.getResponseCode();
            if (301 == status) { //获取录音文件下载地址
                return connection.getHeaderField("Location");
            } else if (HTTP_STATUS_OK == status) { //查询绑定信息
                is = connection.getInputStream();
            } else { //获取错误码
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send GET request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }


    public static String httpSendGet(String url, String params,String authorization) throws IOException {

        String body = "";
        CloseableHttpResponse response = null;
        try {
            //创建httpclient对象
            CloseableHttpClient client = HttpClients.createDefault();
            try {
                trustAllHttpsCertificates();
            } catch (Exception e1) {
                e1.printStackTrace();
            }
            HttpGetWithEntity httpGetWithEntity = new HttpGetWithEntity(url);
            HttpEntity httpEntity = new StringEntity(params, ContentType.APPLICATION_JSON);
            httpGetWithEntity.setEntity(httpEntity);
            //执行请求操作，并拿到结果（同步阻塞）
            response = client.execute(httpGetWithEntity);
            //获取结果实体
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                //按指定编码转换结果实体为String类型
                body = EntityUtils.toString(entity, "UTF-8");
//                body = entity.toString();
            }
        } catch (IOException e){
            logger.info("Send Post request catch exception: " + e.toString());
        }finally {
            response.close();
        }
        //释放链接

        return body;
    }

    /**
     * 向指定 URL发送GET方法的请求
     *
     * @param url
     * @param params
     * @return
     */
    public static String sendGet(String url, String params,String authorization) {
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;

        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            String realPath = url + (StringUtils.isEmpty(params) ? "" : "?" + params);
            logger.info("realPath : " + realPath);
            URL realUrl = new URL(realPath);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoInput(true);
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization",  authorization);
            connection.setInstanceFollowRedirects(false); //设置本次连接不自动处理重定向

            logger.info("RequestBody is : " + params);

            connection.connect();

            int status = connection.getResponseCode();
            if (301 == status) { //获取录音文件下载地址
                return connection.getHeaderField("Location");
            } else if (HTTP_STATUS_OK == status) { //查询绑定信息
                is = connection.getInputStream();
            } else { //获取错误码
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is));
            String line;
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send GET request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    /**
     * 键值对转查询url
     *
     * @param map
     * @return
     */
    public static String map2UrlEncodeString(Map<String, Object> map) {
        if (null == map || map.isEmpty()) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        String temp = "";

        for (String s : map.keySet()) {
            try {
                temp = URLEncoder.encode(String.valueOf(map.get(s)), "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            sb.append(s).append("=").append(temp).append("&");
        }
        return sb.deleteCharAt(sb.length() - 1).toString();
    }

    /**
     * 生成X-WSSE参数值
     *
     * @param appKey
     * @param appSecret
     * @return
     */
    static String buildWsseHeader(String appKey, String appSecret) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        String time = sdf.format(new Date());
        String nonce = UUID.randomUUID().toString().replace("-", "");

        MessageDigest md;
        byte[] passwordDigest = null;

        try {
            md = MessageDigest.getInstance("SHA-256");
            md.update((nonce + time + appSecret).getBytes());
            passwordDigest = md.digest();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        String passwordDigestBase64Str = Base64.getEncoder().encodeToString(passwordDigest);
        return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
    }

    /**
     * 忽略SSL证书校验
     *
     * @throws Exception
     */
    static void trustAllHttpsCertificates() throws Exception {
        TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                return;
            }

            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                return;
            }

            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        }};
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, null);
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    }

    /**
     * 向指定 URL发送POST方法的请求
     *
     * @param url
     * @param jsonBody
     * @return
     */
    public static String post(String url, String jsonBody, String authorization) {
        DataOutputStream out = null;
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;
        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            URL realUrl = new URL(url);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connection.setRequestProperty("Authorization", authorization);
//            connection.setRequestProperty("X-WSSE", buildWsseHeader(appKey, appSecret));

            logger.info("RequestBody is : " + jsonBody);

            connection.connect();
            out = new DataOutputStream(connection.getOutputStream());
            out.writeBytes(jsonBody);
            out.flush();
            out.close();

            int status = connection.getResponseCode();
            if (HTTP_STATUS_OK == status) {
                is = connection.getInputStream();
            } else {
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String line = "";
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send Post request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(out);
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    /**
     * 向指定 URL发送POST方法的请求
     *
     * @param
     * @param
     * @param url
     * @param jsonBody
     * @return
     */
    public static String htPost(String url, String jsonBody) {
        DataOutputStream out = null;
        BufferedReader in = null;
        StringBuffer result = new StringBuffer();
        HttpsURLConnection connection = null;
        InputStream is = null;
        HostnameVerifier hv = new HostnameVerifier() {

            @Override
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };
        try {
            trustAllHttpsCertificates();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            URL realUrl = new URL(url);
            connection = (HttpsURLConnection) realUrl.openConnection();

            connection.setHostnameVerifier(hv);
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");

            connection.connect();
            out = new DataOutputStream(connection.getOutputStream());
            out.writeBytes(jsonBody);
            out.flush();
            out.close();

            int status = connection.getResponseCode();
            if (HTTP_STATUS_OK == status) {
                is = connection.getInputStream();
            } else {
                is = connection.getErrorStream();
            }
            in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String line = "";
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
        } catch (Exception e) {
            logger.info("Send Post request catch exception: " + e.toString());
        } finally {
            IOUtils.closeQuietly(out);
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(in);
            if (null != connection) {
                IOUtils.close(connection);
            }
        }
        return result.toString();
    }

    public static JSONObject postFormUrlEncoded(String targetUrl, String params) {
        HttpURLConnection urlConnection = null;
        try {
            URL url = new URL(targetUrl.trim());
            urlConnection = (HttpURLConnection) url.openConnection();
            // 设置请求方式
            urlConnection.setRequestMethod("POST");
            // 设置数据类型
            urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            // 设置允许输入输出
            urlConnection.setDoOutput(true);
            urlConnection.setDoInput(true);
            // 设置不用缓存
            urlConnection.setUseCaches(false);

            urlConnection.connect();
            PrintWriter out = new PrintWriter(new OutputStreamWriter(urlConnection.getOutputStream(), StandardCharsets.UTF_8));
            // 写入传递参数,格式为a=b&c=d
            out.print(params);
            out.flush();

            int resultCode = urlConnection.getResponseCode();
            if (HttpURLConnection.HTTP_OK == resultCode) {
                StringBuffer stringBuffer = new StringBuffer();
                String readLine;
                BufferedReader responseReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), StandardCharsets.UTF_8));
                while ((readLine = responseReader.readLine()) != null) {
                    stringBuffer.append(readLine);
                }
                responseReader.close();
                return JSONObject.parseObject(stringBuffer.toString());
            }
            out.close();
        } catch (Exception e) {
            return null;
        } finally {
            if (urlConnection != null) {
                urlConnection.disconnect();
            }
        }
        return null;
    }

    public static void main(String[] args) {
        HashMap<String,String> json = new HashMap<>();
        String bundleId = "";
        String packageName =  "com.mc.microCloud";
        String packageSign= "16ae51bf32c5bb11f486f43bc6000d87";
        String appToken= "F94D35C0E0D664A3F2DFCC4C09F85B7C334859231FDA62D6D324EF2D402604FF077C6220257420ECC2AEED956B6132126397F3BB212F492A32A029C8C370EAF8CACEA5D7A164B3BB463C0C52B138D6BDAD42B058DE04B097DFF1FDFF270A37C403448DCEB58BC4610ABC8B6690E132C3B24338BA567557E71BDA73D3E16008ABE0B7B054842E739C38844111C88890405F51309B01FF88D7A287FBD36D7DCBEA26A1E2D741F9E8D14A4FB50D357138285964617194D50574CA153B725916F56147BFFEF9D34BE3EA23FF03B11E7C02654095C324F905528FC54B8E1E8D566377729E5C6EB84A74EF1F277E13FBFC499685A1C95189CEA01BC51948C58E2E7B839C00BDC246732C82B4ECAB117BD75D2F6620FF709F6612B4B98BBC070F2276FF2A1FD3759F7EB5B32A50F9EFD1AE0504AC140CE151531E2C50C178921C83D445D74583535E11909315BBE6ECF675FBFD";
        String client= "2";
//        StringBuffer sb = new StringBuffer();
//        String imageData="FDDD48A9779215CC771B1C55EECC1B628DC1FB16FE35C484D9BD5208320515605C078833892B8083637930034662BD351D921BC27FD9AC588D3976F1C531433E6D7619D8829ABC4D31AE1859AF45C9DD48D13891A35E4C6A362122D6F71ACF0C602B51155252F72FC08001659B4B3ECFD611BCA99FE1824E33B20A878E4FD4E8ACDC44A384F2B3117C128D3006E06ADFFF71F7D6CA8FBB14933ECA05467247F830FCF424A0047DF441BD7F02CD7F102EBACAB5439BBF48C58976BD91E9E3F2700758FAB9DE113B2ADCEB8D8CB7D7ADE33DE283578E15803CAC8102982857A12AA6A1712A7618632DE1C4368AD039D270ABB953B669539E9F3C061D935E5E84A8D251B42CB31E1940070C5778BFCAC10C8E74E0F53579A6F9F1B7940F89D4A40AB32B76DA3B2D0E72F6FBB9163E1558472FBC25EB02B162B0089D1CE7D9D8275825FDA772BE8652A4FD6E2DB2A2DC15FB245F561E98BFD56E8B9DA63D276FD51B85CFEF0A80DB303DC8DC7D775326F33B1E8ADE89A8AD558E791B9120203BD5BEDB6266C8ADED4BD595BCE6F39745DC9DEF01905B632AFB71C5259B91ABDAA12203E426984A27127B3935D24FA9B45374AEFE316E54EBB3DD394BA9988B716610940537CEA02E7A4A1D9C6F347F898A7ACF09518C79D26D8B118D038695094487C28265636A613B72E21DACF40B51ABC9AED6AD79EB642B70B37F077356767F658BC825342DC19521B67CF67BFA0286F128E53FA52905D5F0DCD6E7A58126976813D41E662CDA027CCDAC243B50FA3F5D49F401E56232960772ECDC73D1D24FE5701357E36791A2F5911DD368496A24C0EFDBF918335B4C53B5DC2991B7C35677C958C3131AB4333C338800957040349AF0DD80B11EE5E401904FD4633FE076C90C9BD8852FD351D0DD60C316026007CA74787F16D32095F9E0C17B19E99ADF923E74D882E6D4DDC2C6B312DDD8F49E40DBA97D14C799E72B4266033155403CA6FD1296522457CF3B942A09E96DDAA4A0C1BDFE1EEEADC93654ACE0E5101B8415557E14B994A30FCA502EC783113CE654225A6B98EB79CE4E995CE0F7F9720D376B427747E4FB98B1B766DD69CE2F01C8814A7938A6D0477E97E6B9CD3E279EA640F95D364C17E5B24F16A0A0404C4DEFA0BF46B00857E62CDA9C4FCD3921FEFD2C3CA99B1B2A6DD84EEB9E4001B1D37CDC2763BE4787B0BCBA9E104350660D5FDADD701D5E8D0344D73D424A7E628C62C57CC09B96CA42AE3997673799B2F4EA5CC30BC206FDA716C2C2655B2FDCE0A9AB6F7909DA0CA25346BA545B08DE714F4C1500D89C2FB98FF7E69F51635C175645AF09B6B143C588DB40761DE5098C8B2C7B10DBB1713918C636D80D37B3F07681C27FC25EE027F94904491616244660C3BA0E4DDAFC8FCFEB3A0DF2DCF00C1FA3827A3353473E688F495AB11FB22D5CB6F13EFD540A0D667B9FC4DC38CD03A2B002523C38498BD28905FBD0190E0C12A8F3378E3469F9DA6A9B01A055987BF8CB90D4FB95EB790B2145B14AA7C1EF5A4C79657B3057EC341193239CAC96F32132471AB272CEB64F480F5C6CD9D2F1D73745CD262ED3709E6EE4814B5E2C732C57160707410AF482238A13AAB4143C48C1ED069FC568E167224DC31471BCAA87E7BD3C3F6E80A69BF9053A19B23236DD3D9E2E04F55F12893BAA930CB4229C8107CBC2F0458D18C559A8D465E28F6C79DABB51E42AC8EA323BB07CD51F4136B6FE00AFF028704E5A1CDCB8DEC04892C8C66140F54FF518D76ADD663B1BFC38FF4D6E47F297B94071FE71F8E9CFB7E3F381495B31EE93102BD2F59CDA994299A29AF5CF64ABA35E61EA978FE8D1163B5728E6108DAEB4200D75728683FC645C4E35B5C14C21190FA540AE4403D8FFC7B80464D74331F4CA26F00DF2BD88198A6FF3F591791CF8E18BF1C3774EFE17957C50F2DE05ACBFF929C7680C22F437B012EBB43CE817EABFDAF3DC44BF276D085FB4D98A4854309108E3287430A98F073FC81BB122A28C1F6B753A40DF2E87E363280CE9971E1BBD9675E82AD1F8B5CE9D3CC473D4DE063AE34DF49592649219B64502975DB60B0F4BD07813909C23775D7C9E9EB750793838014F79AE5C75095B89E3749456085ADF509EC3ED5DF22E1B54D6639D9823734BFC458B639ED75B8209567B23A325E8606D865EC6272E345D470AB1E6F8BD27F508A2A9A2DB600B790602A120DBB31537095E7B1A8E8FF169555CAE3CBAB922E378D949AB62F07512E1D5AA9968726731027049F809FA91CC9FDBD3A64D5A185E813417626804B021F227FBCE6D3B63470FB046D91C2E13A563920E90CB9BDA789DC941EB390407E484D0BBA2E8AE5D900F36F6706251CC036EAA87245F8C48EEE2E3BC5B6F223BF28B775C10078C0717FDD55040D63B212E3D6A7D4869718B66D86845813FC1D0594216DA251E36C92DD1F312F994FE7C6848CB47707D5D5B685BBB3FB0CF271FDDB9C6B9A7FB827965E495E58E829CF1589ACD8B2334815BB36880FB372CFC3511027C99C08FB10E3FF94D5F2164FF9B0BAF6DA43735FFEE3DFD8C6DCD6FD81A8A65EA3215597FD6A7DDAA8FD54A243D657B2B4ACDC99738080F3979BA0014D4EF27845168071A0EBD6C45178775FA7DB78EA213E176146AE53910D7652937ED4999928B0EE5B97120C49415DA78E543F9EDEEB009D1F6E683FD231674B1F50FFD83505C2D237D97E40E0452FA1EF63D4F6ACF217029DDBA62EB470B59A4A78523FA3AA71D37154D76EC5056B589EDAF89614B3CB9A859383ED6D271CB830644E7D17D3A51E478C24F6A0C87C5D656307DD255974A75269CF98901468A34739F80AABA1B8909A35CD27A83FD0AF40C129475A40356B0C8962E636ECA97F3C9C2F4A399DE0510B15B080C465C40F35981C50AF7968FAF7410BD2F3644AB208D02D902A1DFF0A39A533FA1D662D4BCA26ABAEB4F328B4BE1F39B48523A8C0D6E6BEE8C22726E40842D109B47DE26FDB31A0DC0BAD4F932AED2CF9269A0A3624D3D76F9CEC9FA3D47ACA2072C8981F4C33BB1548B03FBA73EBD9B9AEDEDCE0A50A0B596331A6F1E3C15E18472991F4E49B7A1AC3CE1D2025123631CDB0392A89B40B85E92BD80965368D8046DF54EAC76EC30DBFEE59B557354384558B3D6CBE15E8B202964D64D3DF6AE6B2B2DDE38578C276B7FDA0E524F6FB559ACE608485FA77720EEF051F1D93902409E999BCE2195EB1F3F80BDD72AA798A805846058B0A8421B2FE74DAE90333EA2F3B0482BE759E1911FDC50599AF6139161230712BE80BA01CB8CD596D85A14E01D623D6B09132C85D198DAC1329B5FBE8A4273A3927C7EC83C6C360A8BCAACAA391AD1F7293F3CCD6AA4C147B36506D2155055107C043338E97B5A7A175B9C52C11C6FB8AAF232AE9CAD3F6BEF6ACF6D47B85B863DE30279E5886DCD01768D8D3DD933FA1F8D9387FC6CBB1DAB80A6A127C7120E6639A0DCD033E640D7BE8396E6FB5743368763EE6FF73276D76D52EB99852DC6DBFC9BD591B36DC18050303F2C461A957253EA23DE4DAF70885A1E667E83A78ED129F2D3A0502E5A72F6650E025584B3B5A385C15F75B268F455FC7BDC7FF410F0E642AAD71F6EDDE3417DDFB285B1709BD3B592ABB63EE9A490213E5081491E36E66051B457C000E6BBEE9A9B44D7A5F4BB799C48DC5BC3B94133F29229BF245E352F5818B3A97F5C7B9F04AD0F8EB81999DA18DC53580D31E04A8808BCD5D4AC2E419A4FADF32F81BF43D21D3B5D7290845318E06FE47C60482CB4CFE7C67482BE2DF8747D43E1BB6D18246C69EB5B547412A5CB60BDAED0A731D34B54D3658D7B49AB1773D43D9B3EBAF9E459D12409CE7EC930999D97E86EF16519B7EEB368CB08B9CA5D133BBB998CE44D81B056E9225FD6AA0D1C802F3F813D39817129BED51BCB50397697553AB4B99E8A99E2DB7B41F62FB2F8F2DE960F3E308D23611623F5BA89406DC49F1CABFD92778BBFBE9ACE54E7D3460BCEEB612408C9EEEEF746F0A082B503F5FE26BDD4FDC955AF43F212791B0DE974988E6A1227DEBE2743E82418062E741DE202BFCF9AB153DFBB9E3A13FF2440D6FC51C5798223AB7AEA8A07389C5B9EB3D673F798A9105246FC305A035F529A659B73648A6E11D5C5DEFEED002A61F9FF322D5C8E2B77B919BE9E38B7C6F7CFE87D0F413320F3854936AA0418EC02523CEE475BA2B3434FCE4A61D607CE7FE1386CF49B16956DA4806FE24C01F46B7D859825DF252A25D01BAF21BF175C5CEB4350F57D07CAAB5DEA01373C9AF6749FE17274AC1E77A8053892EC79450A6B19BC2D595576FFF5A3F70C447874436455178A13B945E3031C9432B98AE402DB601E4C615732AA5DB6BEA05A8238CB12A9AF622E4A8A39BC6E027CA03E765317433A84AD3DD0C8208130726CC43D294318A32DE83F3879C9506F8E834A85BE5E1916985ADFBFC1FD3640A01040F45F85241DE6AEE2F0C8ABE31558993A3F78609C79ED567C79DC76E189303F07263315C31596CA94DEF48E2C5BE237238C814BF426350F0A1120DC77F4BC664745EB9E9BB8EF553A2F374BFEBD7C0BCBD3BFEC09EA6CF0D569D062DDC40C0C447B4244D4A7E189E69DE340DE06F37C7F0EF6A010D8F13A6A95BB72BA1A2D8D5A40226F9C9A0F5C5B024BB5855AA863C9BC282B30D16EF24FD8930440DB9300C23E7FAE02A6279466C3EEE1D6CE7485DF861AE0EAA75FEB2EE503A2D7442AD1E0937A38C281364AA8E35910A5A10A1BAE2130B52CE50D2B9FD923081A6C696D8F216E2C93384685E396CA250F4A62898567670C68F8ECB013C4EAED55064C7385264C11ADEDCD35EF59170595CF09D21721D92FC553E754C493FBD641454757C937130503893FD6556EC250559288DAD2C414618F4BA47DE3ABA71207118152184A400A414C6F5805E1F5A1C8AF75CDF43040C588359787F6182515B12698CCEEC4A40386C2DDC92BFB275A31EBDA6C754DD96BE311149A2024D8408F91E4CC9AFBEA961B280529F6F1B18D9CAD1839A08BEB2ABA50104FD3E83F306A68D700A010CDA35D523707AD95CEF3658447A3FD981EC91346B508BF7006B088E499E21356EC5EEF726AF873BCB5416FEA889AF9AC2CF2AA5808C8A0D5F17FAFF0AF52EED3619649F155CD567F3845ACC3C0EE16D3C8A916F0821B65E1C46F8CEB4393E7C2319AF7EE2941B3B2AD9478FD8BD84F666790B0FB8C399080ACD7D65AA3BBE63B5FCE679B375292590D1D87A468B2411BA60BC0891EA9D002245C06673176446CD2786BE89EBA9033FD9970951021C2EDB237EBD1C9D525F2E83635E186E83E9E1E1F5B56483780A3AA89086E57007C7195FC8CDAAEBCFA3E53016A02C9118583A9125782C63820BFBD4A3E4EB4556E57B17EBCAB15CC0920EFA42E934C5C8DA86E40C1DC2E6A3361DBB08204AB160ED56F3C93A68012B13CEF72F14D73AB401E18490FFDD6A27ECDA0C98A408DBC9637D5B158B317DB468A7D71FCF2DA26D2E6D78D72F6B36B193F225B4B1B0C431DB4DA899DA755315ED26B1844C0FF9D76DBEE23AE39A09E795DACA90BDBEE739B915F27165515FFD09680677A84906407A773AB4DCCD20876DAD39D0CFEC169ECB84F2FAC70259FF1C86C72C4FF4EDBF6AD19423907D8F4A85603EF81A49D567CEC58FB8A1479415E25F848FD6B0C3A10F49FE3D328F679885EE8A27F6988718BFCCFEE416DFE739D995932D5ADF1A52249F67807E2455AA4332E6C100A69E32C74CE44D1503FC1AFB13CE547CD051D9C350B6E6BC8D194449F8AC35F16A12DAC0019DA57D489E80CE02F5F80DD27CCFD14A9A2C263C364506A4B5ABE3BDBB77F1DCA1E7288DC910CBA63663D625E645CF0AC05ED54A3588DE7A31FE083AF55AFECB2F94E9A355972BEAF438048E1A6B5B3B5034DF2DF01C852C17716D182B89CA6692F0590332D8DB735E983C64631425400E1F305854A1F3688E50F2B4B0490033FE18CDCAB5D5A13F548AD128B0AB1DF6A5D2B8566B9DC725F488EBEC7C9D29ABDDD090BF4C89E3FF89CA8B4C3AB5C724C20C470DED9F939AB9041976D155295BCF3131215E4B18BFE01C87DD707240538B69CAF8369D55CD7CB0B7C31A86290E7E8142D3570328B80AEF7DC3E20D95D274BD765AABFF1053FF05D635A90D3A020E2727BF29A8FA7D13F4F2C55B8B1FE841877354CB92443D0EC97748550D0F4964166538DB27C32B060BF51E0A958351DDC96BF88F9AF657B360D2C6DC81D3064D231C2D825E5CE7CA7F6FC9324B62F27AC8BBD124FC5B2857EEF909E0B6A2E2DA3DC6A14D3DCFB5E306A1900F62225262291A186BD9697FC0805F98F9AE72903761F50114F522B764E525CEBBB2FEF3CDB781DF4E90CFF7464D9FD890C40C5D3B142CDBB47BC1BDF84537F63571EBDF188CE97B553D4C63CDC1EDDFAA12F160BA4789917B5A30E31979AC6D27C51A01008FE1882417155D2F1349DE496412CEC9FF148E4289CAF55BD8230838079D4C0C9FA975B699417C46660C14FA38E63C8AB7752438A4E40B5E7474E5FEB28AF712565577C08497DCE421F734F036649622BE1FE782272EB644153FAC4209DA5878CA1E4C8E28E96EF2D39C98FF4E58DAA976455F80CCA97B05BA35D877D7308CB2582E7D65E8C56E2C942E1B2C727B1A60F0EFBC9C96F4D4DE78A6A0537DED8515BEA16B76BB36CE8F00C9AFEE07039B05C95A4C7ECA2B808E014FDA804FCF5D8891B76110B970FB9821BB5AE75A4CDD51C1FC98579944062DE74793438190B9C5FA9D51BF0DA321AE3E2F74FA21E95E260520E52DCEF98BB8021BD74BC024D55FEEB11A5E71DD672C4256DC0D97E643D508F32DA35C26D4E89C78AC48262C477E052BA9DAA7C06F64D074D2DE19EEDF4AF59EF107D45A1B688B3C77B8D12D4F8314F18197EC168C97D3F8DA8BA68E55B535D24E8CEEA711DF91647EAC85BDFCAADA17CB5B5BE5469F4F97A170062BDC67033847B9343396CA4753246297399102080FC69697A8351E3A5165277A32296BAA95D3AB3E41B5385E582203FE158DE2F06BE49DF734091CC867F85C7955063E4DAFD81A727F08A4BA049310717B27D09A111F835974B10E3428A66B94BD899D8C5BAF9999396D5AE93457D1CB831F6EAF9B90B8FE560764DDB18E5A2F82BEB59CCF0FBE844FA3B6D623004C9B938C645ACC77B8B9F5B8A6A3515A2B7E00F4D9DC62D1E29987A89E28C21282944CB951EF2FE917A8F9CD3ABE0520BCEA447CBD81276EEA021CEE1B0BCFE23815BEF4AFBA9E067BCD48F1FC7EC6D8F13304375F9F61AA8B0CBC097D4D0175C6EF427596B9880009F6A356BE1540A2604E3DC3457B51691F23F024A4FD51DB75898CC6156AF111A07B4BADFD46AC3AA8F2EA36F4B139EFBAC6F88C1F4F3F183B50533FFC92B7E71550EA776727ABA2AC0B5EDADF0C569116C3EFBCD297E1B2AE2D125D34066400A8B531B4F9652A9EF2A0CB5086453D5EC77E913F1AE6D73B6FF962AFECA7620EAAC5FA4BAF20CF83A71073B53065B451AE73D5756475BAA1B56EE61DC2F2484F42D1C9CDA058343AB306CACDD3FD13E80C19AA5E47F2B5EE1E534CAEB3FD1B73BE0B751A29ACDBD3B5FDE1F564B8E6027B5DC8E9D68135519C230CD5036DDA5A7EC3BD509D40169AFCA546126578C8F50C1B5D87D9521592BE377FA97EFC6432F9E85B0926E5959A08D2F828CB72D2FD5CE7D7E23CDAE8E16C2A822ED7B77053E7012C52499A1F4B3FF5CCE960E9DDBD5A6AAE60407CA7E5FF736EAF7A7428A2AC946D6AE219EDB85BAADB56779F7274C9EB6B480DB74662FB5CE9D4991FD4D1C9C0A954EB72DEF0CEC5D2410A12C93436007652893BB3D32A4970360032BE90E4CE19C2B45CEBFD84CE181348DA4076944FC755464A1714782E65C80FE350A8CD3BFAA9D1EF0DB2D40CC391684F014333CE459B147F33993A51B0C18AD1F04FF0368833F64D6B9B23420DD9A249474D567D64D4ABCAF08FBF31292B44B44BAABB3DBC70A5E945383BC63C810EDDD2D8E88E3F9D09A288969378560B505FCE16F9C08FE8C29C6262C205056A015CFBB0CC37437CE46C395DD8AA60353B0A437FD06C83F3D8906208D55E45AE66B11AB1B6813FB2A42B5851C1E5BDD7B5DB8A03C28406A4D6A9323F9BA6FA088B9DB01C69E2E364235C05EDF24E58B7CC696DD8DEB8460D0199368C3F43DB9302AEB116C7EC800DB239AC84550E7371D499ACCBADA6FD6BD29B1868D3B1B057E420831B2687683A4A81ADBC9EF7443FA496C043A4644615C2F6E7CC1F82800AE5359AA020CEAE290E77D5ADE78C4A451FBF2E9074540E3121B03315C9E8403743C0162EF3C587A74754AD02615FB9C3756F8F29E97E9C864051088E86AA4A8EB441A17F2114B933BA27F22B6FEAA85F2B251F58D0CEBB34C5823DB455009C3033DED8922986DCC4548C3B1442AF8E9195E810FD75869014B1E296DD48653AEC42A2712188B695FBE00A5341C72D7E748699D6C580A69ED20DA65BD4A29FA2BB057F1C45C5D42E15AFD1B34761D6088882751E4F1E74DAA099C49728452B2D491FEF389FB987578DE194D15882A1A80301C416BE5088D03115B1058ACCE3CECA5DBF253F6AEE39AB2C760F7849D37EA68300E7FEA9C5717EB5489A18259463B0B61D31CDEE7D718568C0CCFBEC9B5F5179F47DA07124CD9B6A1FA819C6424396AD43510C2B0C260AB4DE701971E8358338FA268BAFAB87C97D8AEE6C67A1E53EBF7499897D5FAD5C588614585E20C74A5E90185595A65987EC31827D13BE7B66DB737A40A5F6FFCDC14FCC29E3AA46B66493E08AF21A27A442284F00EC65DC994860803116905A580D2168D9E0415A54E2A2BF7674FE19AC0ACF89D2E3DBECAD019EF6AB0BC6A347BC3506076882147E9F93C708301C88A01FF104A95257C5F5F53049D1EC65C3C06ABE69CD21C1E478FE3AA15F4C010D8510B25F9ACC40ADC4F638CF87CF5098322C5B03A1EA4A79A9D683F91833A54FCEBBC1DECFFBFBD9E726DAB547445B9F66C75FB10D2BB331ADE52259251492392EBFFFE8FD4F80B5BD2335CDA342FDF29DE38E85CBA2911AD9E7A4B27DA3CEF07AFBEAC1C443128A8D5D676555EEDBE0AD65C5222CBE28C51C305258C3444AA4CC8FF03065E8DCEDB15DDC2187DA457C1781380E049BB453357163DE0A31AE7BFF4FD31E287741AC349D6167CDA6AD4D4187D215B411A99BE9D9FC8C331A66AD2AB18126CD8FD7A30920661D107ED7E066CD548FEA2873927D49DAD6D4AC8803FBB178E883566908CE95078C86A655BD19B8E6864456D4905CF12D6A93BC7583B776D6B518FB0BCFC3E985C3E2887F84C5071003BFF1B69BEC7799468330D2F2DF968FAD781DD460FA159D32020C530104A866E40E02D50C31F20739A8D92BF72FBC16A859AE6CED53143A1D66CB5DB5396FE03F543C96D18F254E953E6FDD4E04AB92421F01DE2BECD77679D1534BE7B9BFF41D814032C024BEFF7F5CB284988F642BD250674BED5EA3A249A54440297DA366D9331266D3892469157E50713E11D54167C6EB6AB009923B654EDD19FAB2EF3D5F680FA8EE6ECCA985062D1030AA30EF2C8E4FCDA591ED37AC5C384494F879207C7D3B206763F698B71DA4A319FF750FD739B9607F1898B401D1B4C16205BAC537F6676AD763C06B684C77EF97046E481DFF1057939DFE04F2F269550AA7CD4EB31AC6222FD90984300C9FBAC9D871F0CA8E207FE37065EB277BE8147F733556DFA9193D09E456C4E47EE8F12E8F82F8A4EE860816034552045D999A716043F6E315D459297B2D12BF9D5DC793B91F5B39A20AA80568061465354F8C065A59883E60400DAC6A6CF46D93A6BF70EA6571A03BB5641479BAB3602037A345F01DBC35519BC43A50841C8BEC1F7C2C254955F661F1D830B6C3E36A5813F43EA5538A16257DC5C10CC57022E9B49DE78ADCE69790161CDD5626F50A413C123C9A51AC76F727EE9CDE83470D1EA8FC5A7A5EE16E5193BDF217F420AAF80969201C5C842E5FAC358A31F31109D4DF96DD7D10DB4711C82468432F08A2828C6B1D2622352C66DE4FB74E9906A6F343E36102C2BE1E1D326014C03481F182CD4248BA04B3A074C5A9288CDB2302FF8E3EB5267FE4BE81B4677F9046D403738A04DAED3AC50DC6044F81D4327D60069284BFF06E55AA1FA3832C41D6CA4072767D7D2F9CCD82AA7ECFA4E53A49D8A73B0A7E78B81007B8435CF7E18E20D0C5BADFC650ECB6301EE3C28016A53A783848070355E617F2DA0033193EB18879D583FBA23C5986CE60DB641E189A8F77BC925F3BAC62021C557027D7FB4F2260CF9C38BCCC66CE93EE3B534C2DBE7B3B7A6B91DE25E8C6BC4A986D9F38FBEB2FB280FC16679A486B4F140A8DACAE06EE10BCB6445ACA575E567ED9DF225CBC7F4958456950C1368EF4DE3E690BF46B30879D7273D4EFBC4053715708480C8CD10093F13A93E27EC377FC9EBFE8BC4ADE616EA59F4009D222B304CC3E7BE44F353D59A9CC3D47EA366469422CD772BAED78E487F8D7C7AD6F5A7AF13FF413649C66BEA4DB6401B46057B703D39669101E95E2D884572758B552268D6880BA92E4181A88012132A55BFFA7309D6C0119189BD6C0BD489DBA1A989B206B6E796DF70190289E7D3AD97C283C9AE0E42A91BC91C57BD341BCED30B867E9333E6FA5FC0C3392A1E5CF1A79A43EF68B9BBECBFBA716C0583CEAD253CD0D16F80AC8E21C63537DFAFA9BEF1721491853D226B1FAD151EEDA7148BE47BEF5CC93759AF732E617C68C097F11F64D7B68CA6C629F313ED05B06EEDEEFA619E5F79DF526D922A957ECA20320D29D4096961A4F2D31427F392CAAEF70D1FA9BEB5CE0BA224426D1B711EE244F76989E4426A53251B6078DEFFFAAD654FB63067F91842420EE14F6C38CF4C115A0494C70F9E273E2DD55FEDE3AB451E1490F940881A769F370AA934151969E54333203C0C7148A26D5C80B1340AD70E3D77483039295D0748B6D8B455D20F644D417A07AD52B95FD1F45CE4A517998DA98783AFA1537036DE1A05C8FF1F6967EDDB9772F5E7C56F9A5A55743A9C4901D43B1DF9B53DE934E8EB3BCA70990BD57BBF1E75E8B7E7A5DE41C58F5FB7C89870FA78CBD16E7E7B8F475AC26656183D3D9BFD18D93D8A8D221A4279268CFAD0F61C266EF8A78A8E7E1BD7317E886AFC49D06FC03BB34C4888100F9BAFB1D18526EB197F2745C8C3DBE16F635252340810CF54970D571BD64EB03689DDC677DDCEB33DE93ED3F3D271B88F0778FCE953DC0BEB102DECC707CFB9E8DE5D529DB26CF5B7EF10E6478ADD5732403D167B542055F399D7B1E9FF904C77E73CFE586AB92DC61CC61C0394E1F2637A371FE57539D7A6CF02498471F1D0540F098BFE2B11A284E8149CCBB3ED116A086B1556EBE43F5C2F9CCA2747B76EE8579A917FBDD4E9DE660A37B0B7CE4D03386E8782ECCF88F59E6E98EF8767A36CF85A4C5C2CD79E10CDF8051B1FA1E50A451A1340FA7D418F5361685CA09099714F505A812127815B86C4CFA7061382C188DDDB0DCB7DDE15FBD8D9B1BB268D5E51A36322B4194EF0D36CA209A23D3B964687E27E42E174EA815BD8623F4DC5A56E95DC9A16C44C750314EEA9D5EDDD83648ECCCA79C247F1FDB9C797E3337CC20EDD845550AADE8A66AA269DCB1E505122B01EFA44FCED20DD304A7281B22E64B7C31F163D44B90A7695F105EA1343BB88732463DCE112D03118182065924DC4BBF4B4DF45EE252C4D6C041FF9CCAF1AE7858591051A42E8FC3292BB7CD9B1E7E930A1B7EF8B04398F311DB062A2A017B3306488AB6EC236DCD19B2DA63662A73B3FE0695E171464E017C5796FAA16B559CBB48B237E9F976E18664DD4330583F6ADA9F69B416A29115070FEE030A008FBB20331C9195D09FCD62173242E362BEED9E0E79A1E3974CAC443778F74C8F52906AB2876C15CF1A6CE626BAC595BD4A62F1315944716BE7AC02B9A4F87DE2C00F789507A2485708B574E210B45220F80FA570209E000EBBEDE8A75237EE14CDFE050817423F431CB58F395AA3F1BD2538AEB6A217B5C665D1F659FC21FD3E884A045DC38C4CE2B44A09BE9F82832122742C20802101D1046979A042A87D910275E5549507DCD68849E5D6F7B81813010541B0EA009C0678F661C7B09B54A51518F2DA8B5ADFE010C32418355138CCB85DB53446EC9D0C06A2F3890FD0333D89D56E2CA3BBEF799C1B287C4857DAD8031DE77A80D739A6E464E4D17A2CFE1AE21907FB43305C1CC029490B5540B13864B08AA136C5605DAB471EA46418A371FDC297AE0C7E744F5788108BD4D6BF9004A0D160C1564D0CC0F4257C93350BE883ECF28FEAEC5F66F39ECFEE0A96A662FC15DD358A2D09657EBC2A28EE129B2496A91748E1F54EEB20A380584C8BA93C9F686BA6F6D35C70ABFF89113CAE88B77467654982490D45CABB71E90CF8035F25D2F11BE94D6866251D5A7D7AEF667DAE5D7481484406085BC5A4C107F9920C5C7872E979DD82B49C0ADB66B76A0D85B633D40941582D1A583D508E71E1284E73C9305DFCA0F5BB23845CCFABCE4B28C0B696133CCB7ED7320336C17CC254150B340CEC20F26B2FA4E49901748C2702E7E626B2C060B0CA24116AB114B430C5CEAE5A15F235273592AA4255F2BE78E3ABEFB9F87792F117226438B79E550B8CD8FEFF6801DF4565DC473898D96103A00120784286FE1CD29F1D1BAFF406620A98BA76D3D0E4C96883D3964BC568BDEE0D0A047BD7131A9A18953F344E25200A44DFFB24DFCBCECE420449FD4019C4BE75D2530B578C8C66B117311C2AA0371B4FAA848009A79E8383426EAB2DE5B331A1B11DC69FE659E845ECB1EF048A4CA83A9BBC13931CCD786A821EC13BB60D1905BB2C2CBC4AAEC8F7D63D877047BC4042016623307C56538193946A76DA74307EF4A99C782AFAE8FD24096D9B23B7320073C98FA0881200DE1250652DA01B358533C6559B60ADF78CA1FB8E03DF0936C6D26D3087AC1EC7542AB00524A08A3DAA6066EFE2E77FF7C00639A63830535A951C554CD321868C5D816D344A3082B1FF591A23AB653CD441D20AB5D7CE41AC4991EFB45A68AF0A87E29D4ADB864892E2A78C962F4A6F11E8BA2EC31DFA12B7B7DE7576E03E5093365F62F2E902BBE1C9A83FC4C7545313A959C921256C15179ADA9E19AD9EFFC33C684E03199E983C0C76C157B1E45A4168B1198A17DA569802C7176C046ED15A0D4972F8C3AFF41E89AEF37F0C7E54A9CACC045187D68F5E4C4088B0196D7DF908343B07C94ECA5E509A1E785FC7BB5B642A450320A8D307A354A09EF03D220A9245BB12E060D68F4F3D8E92D5909CBEFAEFFE8CEEEE4350D63C39117D4A752F3D13355E825D47D875DCECDDC1396E5C2A263E728A873D8DB45631A5EF24CD472D499A341052FE6E407767D7B3ECE8C610300BFE85A2C4FD8F256EF5290EF578635020945E155F9AD7A31AC11864C1F423A77F73BBDDD62EF902F4EE3C812CFF36EAD7C8B1664124A5DD83ABCAD79FD6275B83AE2C95885F35311B96235B82DC9277C216A527C553E9ADFAFC5462A91474C2F29F85C01321DE6D18C1A2993EC6B01BEA3B61F678078A0D76C43D85C71C879B47CFD794EDED58CCFD86BF7495E0A592DFBD685F1ED1EE47A7321076C5AA6B950D64175CEC783CC0A7E5E9155148627A75948504ECBCA978974DF7608CE9ED2C126326F2485D943B10D152D7465121378BC11CA3298FF4768144DA961AC96310E0520394B91C6855A8FDCD5232EE470A021504786F4DD592E4CFD1BA4A90683A1E1601CC871BDC07BA17CAC975BC249A2FDC8A2EAB300C0C7951EF1B3F33CA15B69E86C618F48BD904BA24E152AFB0E7B331985EC3F1C3F502334814843EE14A3800B9BF3226DFFA16C8FB30DC9D5EDE0541F5B4661F2F8EC906F3112A602B9AA710AB1FFCB895F8793AF34F40CBF75A8348959FE96BC86EAB36C2A0FACAF7495F80A0C9FC0267C3ECD4D02DD022407D12BD5CC70E808221A4EA27E9916FB2BD1339B78BABB57FE51F980E75BFBFEFD1EE7E9EDDF4F8C24A01FC0938BEC28E2CF27C99E0A121F7C3E6E64849B08987671B29D1DA53ADBAE79FA233B6BE2DF6094022F56AC458F986EE330116A2D27662E90EAD43CC8C3364CE60C23EE39928A1B5DE69BA7EBE48ED8CC83B25FB31CDBCC146A260EF9D67C0C022A1C9BE17AA74377227D27CB15AE5EA8C9C5062CFDA2084ACB273164EAE327486DCA20D200E3D441EA21F1FC53844D44FB104F4D80EF3E2902C1E75F74E6627837672184C30D750165F30E7D1E06B6BF0A5E95D90A8C256E6826D4ED0489D117C7E290F76AC8E82E542F5CA77F5993AB0675EEF3A3BA47BC514116984D1F70D5F82E18624F76F5AD460A2CA5B5B2BD523E85297666F19C66F7607DF6E2FA10AF13918CAE8A7D6213A2D0BC76B0AE3418146BCD35C9C077FB3E191B67522B3FB5B7DA5FC137080E436B4F476FC5671F8AC6309F88759CBAC4A37310C5509AACEB251599E8E29F822F435AABD7BE2AD495D6A88A629F8839FFEBDCAF9B86FC9C355582BC5C2D6300EC7383B5799C0C5AD44909F1E0EC1741C2AA48B663E1570027605CEBEF14ED9677BEE93CE983566D3495E96DCC55C1A6457173B10916CD873B488850F8ABFB846B91A9684634DD0A5D8BF5AA0E18EF63B6D89B782067B9112B587DE3B3FD9104872BD7E4A80473F8174D3D2E1D2D36F6E32B5969FD75A9477CC05DAB6D0F6900C0D0E343D45FB7C0107CD696748497BCD312490712F96B869DDB91F5F9FA06CBC7227CDA6F7407AB0F3929E9D67782ADF53818CBD5C4EFCEE3B108E33FD9B1B97D49B1D3EA5EB7163FF8A73BAF2CAD3737257DA56A9CCD37F35BF0AC90D37937E2B9F87108866F2B03DBDF0D277ABB506F0EDE3BABA181DE8AED980A46F174F7EB01745DF092FA3F93A834F3BCD9923C733F94CD28A20ADADE7364D5DCAA384AA9CDB1CB9EE2A6B790291DA41F97F286A698D933FFFED83F6E0B3E5725363E6D34D2ECF068689D2C9983CD0F753633D8E083E0318EC5BCA44A9388F031049A45C7F173C472551916D72B78B1D8E562A3A009418893E973B58FF31E9DB87A3853F9D85E97063162AF751BA1B337D41E7D47D9EC6B9189A3C27DBFC6A1CD71316974E65E692437FE3A5AAA768D486127B5EA798D8E531C71F2808AD644E0A4D8F035D8BBA30EE272F0D0CB98A0410B8AA9B3E97BD7E97D1C2364F50249D9E5D8D88DE1E3AB7A734CDFDCA22E8005388435B0FCBD7CF89980328578A71C72AA65C1CED6BE0F49FFA4F991460B2FB448775E45799F69315FDDED2E33B3B02D280369D7EC0AA68C148C9F40956117E5932242F40AA29FABEFFDC61EE527155382E239DA77B0741A419CF8638AADCDB389D4745FED03EFE084C35CB7BC785F0B31CA7822ADC57A2287B5F6732D9B205AFC2464C94391126C7FA980A2838C85BFF0BE7BEF48977516BBF159366541E314A2FA6C53E6E8613914B5727E249A795E59298665118BCA507BAF8FD8D059F5894F5E02666E654A645AD203582B92639BAEC400E5DCC7B9844EA26E9E3613726619FC83BCB42B3A525FB3F957704ED1BC3DA2AC260F70417256C4932F5D4417CE5D4AC646D8D6143815C2E09953D522836B9DB039F45E05439DBBADDB12CCFB47EDDEACF935621440A5120D4140C0B1271723863E2EAB14C81511F4C82CC6DF3F257736EB57B5504002ADA1EC15142D2EFA65257479472F4149A9B4044AEFA400BE1E80C8E0E7029B02017A9015B383F16BBDC99CDE4601C547ECD8B77ACA28020B2D292E222558C8F5C1C479D446C89A11AECEDAD8955058D44A36B3A8258C80C558EE249574EE4B5AE17F68A0E45F3D755FE3354E12E7EFB1661379BCF659F47ED0E6E752AAA33D73708345D3306076BC79F95A98C127EE5FB8F49B70796FD8C6C7B17FF52336FCA48CCA1F4EBD8A85D53751FB808C140FE4D898709E07CC35DE3DB6966705785F22667348A4F03D211546ED618035764F943ECFB06DD9FA2F7CBFDDFCA862067F62739D4076505EE59418E830F22D5E45E6BE253D8C988A2F26F8C56B432D112365689EE60D1EF44730644232FBF29BC9418D172F01AD69093736B76872269155CF3BCEF2FE771839CBA0D1E2D87C7DF4E94EA471F9D84013227C35D7112030A008BAE629BE09A9672ABC0B8D1C76A6F2534F1F5C43B6FE6992360079F493C1D6991DC145D4C0BA840DD8532E0B4ADAD7BF1E9145D99FD02DBF9AC11B15F82076E6687A3D761C8EE8D27A6204F6F4C288F8A7E5033971947331087F01DB55E655DAED292098E1BC9FFDF0EBF3F9A65B7A8E461809B9458005915468DC5658BAF7D16F197F8EDCCAF911D2E01B3D6BDED7ABAED7BFCE0F7E474454B681E944A933118794609120E04B0406573242C725A0C9649417D0816ED2F1623E3CA558FCA88FDD8FA023E431964A368C813343856E2FB847524364AFD9460B6E2D4F3DFD3A5F7CDE3AB8ECB9CD079809CDFE578699F5D3AF6258DACCF9068A1132A4975D131347D366FABC472A79F6AEDEA7FCA3C7E76574BB99607DB56C13D84BCC870BD138D8D7AA66AB291C68CD9015153A2E3ED16E8EF2DC9F863C8B74C52F71A94D56CF10E89421C8C084EB32F6E1D94AF2876980B4C7A9E93D77C4D7AE9B4ABAB5EBAFE56DDE86ABB073915664A0FDE1967257356DA4731BB87B2611FD4F296295D45B0B04C8015A42D063C4A91274E66C5F104857B7B5AD11170983552AF619F31E2435FEFF6B97554ED193A884768B4C3539199B4350B5F999A1DC1D110BD55B64E69D5D64189DFA4D55936E3C01A6FA73BCF7280F07F3BC6F34CAE2BA885EE6008BAD31A0E2131CAB3331D0890CA1214E52186BFAA58E6316ECD0A05E15893CDFA18C837F450C3E4C966E2A3216CE70E979059E442DF341866C668AB240B84D5E8ED527AC07CDCCA2ECDC79E9D350C1065877025C62081568B14803E2154120638E2E36154D21DCFAB5723A6F573593C5EE3FD501F0E82DE68C2670586E6DED01F9ACD80AE37CF98B1B399A63C96CFCA7F5EB27D0CD97E4DC3D41B3EDC98B6A4B49527E36C45E597DF49C8DA64F04D41C064C814CB489E5B7AFC480F5543B251306137B3157385DC3060693A1E36EF35D6981030F5C4781AA42E6271153EA84AC84FFEB7B59BA22A317A4D39F8E043B98CB40E6354EEBD6EEF5DF86214F41EEE58F993F9647CBF974688417DCB1544B7F27C4E1C6C82BA07882B6F162B66BD79CF18CC7A6AB57E92E852AE86716CC7701FA46979453015FE6976D1D19AC514CD0118D9578211CA00681DF0A6949B201EE6A10432648B98FA195160B56030E5224D396458FFFE969525FB756204E75F1F22E9F8C0CA422E2D1277C29695DDDD42C0CD5AC706C5C5ED154C184F11D040DA21E8340FD6612FB21194CC7480B931E68ECFCE35B08B3755F3C36424A8B902707E77D370CC7AB26F3D1FB315EDC89993AC053CADE538DEFAA12D3546926B0BB20F128AB69DAF531E7AE5BBCD59CC7978BC6B503BFE334826A971625A800E91CE1368AC70B961B35C7AE419741B3481F79CC140D788EA272C0C131A0B18BF41E583773B28078A93EEF80573F8FF2DA1FBA879EE8C9C39E186D5C3D34EB8FC127DE9A8135E1546A9EDA9E0238D9278D9A1B28BBBEC91EBAB6F6AAFE6FD73212C733DE1DADECF4014A0A8A2C875306C166C054B6605485B72A1A2319A2E9B7568418ECF6047773C405FEFBF7C583F123A2C8F6F4D265C185E1A8F77216FB2E64ED75B4672467CEB6E4C36F76825D0AF4AA0CD566E12500D936F550CF812283CF3C8EF041BE448307B9125FF7644A291F0C4E7490B8B553D60475EAB697768C1A182F95BBF8DDB1E44EA76CC6B14C28D469D0D24C54D96671CEB535EC5F75FF328E9FCC962B58C676A3DDE13814018D0166CA8064464982262611376363FDB26CFE2A18083E5C2A1B649603887493CDB925C72087A4AA269AEC3FD61E14F6E7DFE9F36400C9C8983BE6E6786435300148B30C4763B6DA82FFFC3216BB6EB49E0DFC4A4FA555709CAA5225A0EC28630E83FFBCCFE555C260A912C66D772BCEC581CE6069FB1D1B73082B6486FB50C8671F591CCE252133A01D2E7579C801FBDA62836A00FF1C7B12269DA8F504E680F30D14F8627CAE5E83B9045E307212622C974B3E4E87C2DD217966ADC677E780E2ACC4925786241B58C2081351F0A769C6DDCBD3335148124B83B88DCA8AAB26A408029B6C51ECE50888DA400B5D21A6F36D22A3A12AA1229C9ABE8593EDB040F4EDFD21CF72A109D6D8713CB74B7078A6F9B3058598F48799FE15CBFFEC98788B7BC13BD741E18543EF56DFB3FC8399EB5F9488B4ED480D90D500303950BFC40F62B603214E98099BFAA01F0F45158FF9973C11A9541B31C8CEA4480E8B99AF8A478DCC6E32DA7E770F95E75F1BD70FAA9DD1C3D7B0276F2A9CD574068A1709EAB3B17367992F2572059F7A79593B57543A2D4FD437222AF47F2548726D04B57488A61665C74CE0D978223E5F40D0A72F3CD86325FEDB2A3F244DF0024574D3C34008191F67B5B27BBF2C8E8FF43F41F202048FB6BF267435A79CD77328D93D8DF66AFC2DABB7163095417BCA79E0FC1F88FC5D1231FC3CD2CAC70B64FF79872D7A8E6820D08DF64A16F85E4B41B0801C649CE613A85758B77BB30C3736726E69F15C4F9CF843AD1CEF9648A3252542A81364E511F125D22A2711C451F7AE5F76B9996C2309FF1ABB22563C8EDE9C557AB638F0ED5DF226B741CC054144075E9E5CEA98CEBF75B07D3EB98D7F1337A7D8C0B121A38E99F020AC923E2F6DABF0A3546E7562778C75F67132C5DC2906590CC3F2770AFB55564EEB61AF1384A4D270463F43208537A08D8E30D850629423E1F2B85DD84106E41E9A0F54B5386BC9858E5580EAE3DF5EBE2AC0CE8A5CB4B2070E736EFE15DE8A99900AD5C36282DC684D95C51F29B3B984CBD581C40FE89CD572205A76C654323D07DB94F9E9C21148916C0C182D33557E9BBAEF4853E200509B6CFD8B1C97D1D960B03B46A9AED064D639111C5EA3489EA34A7D74940F1F8146DC883F66FC6A00BFBC2FB4A3E04FA7068778AD909434D5DA4AD9438389232056C32ECB719F7AE5FC55302CE059426A400126D83EF0DE86A3E4EDE86E3613BC280F4D72C7A03A373A910BD6FC4A1379FE290ADEA013E8BA8F2E68FD8F09861396FB8CCC7BCDD52A57C1636BF8E32E17456A4633351863D8FB51167856209F8F420C72C9B44AC428044438EE8CD2D8D2646BEFAC35DC7861FC4EEFA7A33FA6D10CD272473C5CE6A2A55D2949C54A75002A4C82450D4C02384E77AB3D9043608C049D1D728D6DC3B7999C0150620A697A382C4DDBB0F512CB3A6F32BE13B2EF309364C579DFBC8E698F293A320D9B7A8C8D9119ACCC3B1D9EF0BEC605A0135B3AE6FE190B6CE02E0BC8A3D8B3C3FAE8C90A4CB464ABEBCFBF197DEFCF86C22D00E35C9BA4D609ED169C5816E34059C1D001EB3100C60C4CF50B6ABC40EAE44262AD456E74D67D617E5623184DA529584ACB648EB739A4A6AA043C124E55F5E9F567F8077FBBC52E756D16245873B1DB8B1C5528F6264341B388C9ADCD6B06C04272E21AD41673D7B2ED932BE6F69785B19F901E2D5602387B125096943D308223FAB111BA8EC03CAD9438C1F3021E8BC9186F6611E6430171A1C30494E2CB6D7529BFF328BCDE62AFA197B7D9E28A77415B0FC57DA93D9757F191501BD0AC93B8487FE57A09ABF762048D7B36120B660979610980C45C4394019101296D84CB6F0237870C1FAEC9920316E206E2D43254F0B0975575BC344B9E54C3A3E2AEDE2DB097A628076520B9F62C30F827D9C7DC16BC0D6C116FB41B620F3D8C7C903620D8F854F46B6EE4C2B3D263F8783BBEE9033D10DA90387BA84E738AE7B3C075159355347E265536639DAD565380290330D4E795DE5CA48B97BD0A881396DBE84595BA632F5CED5656B2E2E0D3DAD3699D52B41107433069807F7C3227A06618D52A3EB44E6934B113A9FCA42081970C48A1E17CBA9AD3073877FE272E9D028AA03FB1685DB2DF491444C9AC5F67332FCA630E2F92448C72213BF11478C99877B1DAB72AD6EDCF11300DCEADBE64D939FCA4BF7F7F970AB7496ECF5A6CAB90C8BC399EAA1A3E1DC0797182F796AB9AA4A100194644DB2C6A515D567733EAE86C929F2859E6FED02E3997193B5FADE03A6C36E19C87D155A6ACABBA37AD6A10DDC720632BAA568E174609F38CE19F9B335DE9881A375544405E1CA2650686144B6B40B35628AF7738459889F8083915B940DCFF0B077112C3A51496EE31CB60F427DCD1D85528871E48345FF34AC0E97D963C7666A589F8A5B8430E8082A0D558F57D64F0DAF27986B0F77195181E3CE4BE350B9EA964564BFF86DF33655E83DD012799676DA0B26885D7E6F36AE9D93CA5AFB8F3B366C99D755A8F1E11638DF3C3593476DB8204932E7780FB3A378FBB5D487605F7A18FD1EF6E48A3903A3A512B881A59222DD60639D7CA0D6D7AF89333F9E024230E6D2B86539E557D0E7661C25D08FA6C2166A27B870C266BB44459ED663FCF265F7947743029AD0E103898A70ED689E2397EDFA34A711D7991203960CFC5F18734F2F038D6E16AEE157856BE695FDDA137AFA527A6FFF1DA439237845EA670BACA4DF9881B9316A501665D82E531919DFE543C93FF160BAD18C3F5BCC63F15F35A1EEE4AE746D2A0E3392B356308B2EEF8871D0321B08EC538D3F4217FF2B91D617178AACA21C5C89F41FAA0160893F46B88884AF4D8BEB4B7751142638CAF3E8953D7644DC74CEBCDE282556AF47EF8D808485E233AA46EAFE8A2F79BC7FA4A474D09C4B708EC8EA596AACE1BC32D03C9F2AEE474B07268B51F2DB6D53F4DAC10351F8F9D9B8B12C41303C2553B4FF53E1254CDE2115BEEEE9E260AAAF4B53042EAD7B3C88EB2629349A88FED5A87D2129D03CDCC63CEA5234F5CB370CA128EB51439F1DE287D05B0D4BCAFAEE1048A7E34E5B3CDF733806B307E9B97432A04F71730AA70F11BD24910F533A5A39E4F7FE55DD01194DE228C32D5519C5DB9B82087345276B756892C933A5CA01A0C9B8553611FE7819A196294AA06D407C1A9DE871DA6E298B2C10B6D2CF411E776338F943AE131B6B1AFEE214BAD3753747661F329FDDA9597C5A47EEA76318D3DDCDD9B9951FA7287967FC02BD160C86084957C1D551779B5867F027B963F58598149972B5064ED3651F2BA3AD8FD755334C4417B83EC484AB04028D3B0D32556A3E00F8C4C501DEBDF1FF6F09385F1478AC05A839D84DE47F03AC8F5CA5E6794888E62CF4D1108DD7002E2F66BC1018AE7C5624FCF373E7F5924D1D0F92D502064896B824EB95BE53B18406FF3A4E4E0830F1E966503A939B54CFFC72A887EF931260CD061A536F43797B7126E5C89F09763ED312746B81C677E076F670331A7BCF8C607D599F1D54593AAF7A01481DD6C241096CC01A6418E678C9AAC4207A923C441EA9FD3B65FA3CA03CB322F6968DB54A6994CA70FD0CC832681E93041BD11F591053BA345160745EC8F44EF46B5186812BB05502C1F94AA24BF9269FC3C2EC6DB9275B0421C0951B9374E8AE545F25894234294697A591C6E13245E5DBA96754B7F3EED52ACE090110458B335A0254A6FBAEA377F6F9D81A6EC385AF098E6A76148D4438F06432EE5C83B66309288C6D1672FEEA47BD414BB2AF964D3088EF3BEA5C6B839B7963531A9A8DF85E107A14365AD2DF5E220A35FF9386BF5D599B75C1531C12574F735026F1269653545BE1D4ED1F02C55A29BB53F2E314A8B840561ED43AAA4E9BB10370E5D2CF169AE852CF641E46B2EC532BDEB77313CDDC59CFD08AAAD84561AF6F134640C1407049298336D0DB99EA6185F9A4DA0C398BD18094EC36C7F1AC28A679E856FCF2AEA7745DA0CD441B0EA80230DC7EBD165EAF2991403C70CEF0A620D411964B174E84B2BDCB4934A92DD723225C0E07A51EBBCDD533EF79866A870FF2AB5E13E51AFF739324CC3DB9F445EA140987A704F8D98C9230E9CBF3CB5140DAE8C40F4A0CB649772360A5E93EB23FFF4B35CEF6438C64DF6A85022135A6E0D53ED3A01C7F9540BAEDC9B7F4BD68E1EAF4EAD148FEA947A4BAA46D757702C1851DB11C02288408C38B07A4DD6FA6058CE8741EED0501239B4213C0647D894A74B288A4747594F266B6475C3A7E549248D8FB715072CB45427305F8E1313F84B61950F586354FFEF3A3BCF094F4FAE495A408E6BEC53CB31FD4D257E34F7B707D6770971D53B6E0E0EEE9413B49CC300D6B608809035773CC714B63A075B113E2580887395D35945336920C42EAB8B2F345871F0348FD6544F752EC80C8C0AF1F2562CBF91B62789316B65B6BA96695C06DBA1A9B9B639AF05F572E8423C769D2E18EAA40DD3D34C4255B3C240765B898848B5A7AED0B50CD81F6978BD97689139FC865B84CB4A59541F6DEDA393893928E6C630B07F4DD30DE90CCC9381DD35C01D6F063A5C973CF90D916F27DC61BD71E762DA2D893FC14CDE349C000716891B7CEA069F71CC5F51B76008CBC6BED435DCDE90D4DA2F8C55EAAB7C5FFDF57C503DA382610FB8D420626C99818384DE695DC5A04DA4CBD1E1D3F01E773F6218211094A960DE1B7530D23279885BEC5A8DF36F789D77170DD008EB5B890636EDAC82BB6EDBA3DCEA8A9998548866B96FDEE0490767077CA272BD5E85D74229BA8E6F49DB84889F3302336A024799E64D0F03F138005B971019ABF5DA5179EE06796185407CE115D7E4CC1689E83BD5B996184D79FC5E86549B8C53C58D2DA383BB00DADC9216B4EA6ABAE059B868C602EF78277DFE789E5C4854279C949807F0F79F12E4640A62E50ED2DE0F7B4034D40DBE711E331424F1BC4125A4B92F374C4B9C2E93C2A06C3BA90593A73953A6DB71D76A55CC00C502F45A02406C1066B92778020FCB4CE767E9ADD221791BA762E7BED152184A7C8B36B57DA467B070051E6512B9BC331D3918D21AC268B270455E20F244F6DCB12AF1C3D6DF587891C0BBF59F990B474758BCF48C6807D4F43BBAEA70AD8C4F334AB49E0E5979A35E32AB5B422EA8C6875A604D605C034C4B072AC82D92E9F8DB114F967233A4E6483643EF64E76C027547128B8A382484F3058E3EAB9226DB43668130E177838F55D49C7BB49EE21399372AB56D1B6D2CA5E9DBA627894E9CBF16FBD8014079936EB5FB8B2E1CACDCE4031409718D8A548E526C0E79E3DC9FCB046F0BFDA3D1A81D399B9663EA8692A3F33A6CE6240D9FAA34CD0E7788C273E44E4A6C95265FE93F65F6C47F01FB2BE5CD26F0A0404A865C5AE02B2E05628FDEC5B9FB22293CAED6AADAE1CB75156C625573FFEBDD3DCCFAF863A6587E201F041D2668ACE9118651C5B76ED686AC0AE7383028417226B96242D6C39125D5A99040617A1CFA962C416D6574A937F887E03C3039804C29A7678F4CF02585A165881B68138AE9D4CFA8375F6AD392C2BF00520DC80E5161BD1031D8DD888B7122844B21FB6F1D337955F4DA1D5202071F69361939BA9A9CB7F61AA2BEF2E6D74814420B6B8C30B9CE9E900A38991537EB1FA0C2931A4DEC420C5568F066F9244054F21A982205E0F63E7D170DD5918551BA6C1CF0FB6F40514BBDBD2E3E77712493F3242B0C0272E6191394172CE31923ADF72EEC42DCF0CAC5F19DCDBCF81233149E11D16C2562A70EB30F3A2393AEF355A6A0C75BBE7D69B10DAAFAA3A49FFEDD2B016DB37A283C306B395EA775D3EA962AA705B880C036E6FAC265D007128739EE95E4509ED477114353B2977DE3429A178A012028E742E42CA1F672B7ABE65AB02ACE84F663C42EADFDC263F769037D6C269F747B038D99BA96A0CFF86A2896A8FC7D1989FC3DFCDC76763D69E16EEC81DB3FEABCCD37476CE4EC4917180C7F4445FA5823507827A8E4EF813848265FF0D87FAF9EB89BF35417F8C9059BD5E61168E4E6CEA1BBB60DD6222393EF0029A6922EDF49BFBF85A121195ECBF148D2759F644C00F0AFB3F7A31C4E55F8AAF3CFCFAD37B92C1B974A69FEE75CE3AF9857FFCE4B27BD83DC876D83119720411E40F9E524C0322D8C7AA75AEDD2DA3807164F9294B76E2DD6608AFD06A547FFFC94BF6098B69974515A9846D3FD96FF8CB371F8A832B5C7B83CE60C5DD54056D54974BEC00793C39F59BD67A865ABCDC7DF16B87BC6F92D99C63B7414A6998C36397C8B869688B5DD950B272BC5C4394DAFE6FB1A31CBBDF950032A32352197DB43E6B2A6D432527BD1BDC80B7CECA2EF1AE14AFE0360AC8023A8D5BAE1032CB2FF4F70F3A207BD459B3CCF61CBA52A9EE938248BE61C8D74A15A8CBEBBEC91130A6A07597D3533265367D92816F95538ED368254A2C49228FF188EFC62A9111BEDE79CBCA2A517E86294761645B47D68D8B16A0C8C780D1AA3B35149099F46E3545E2A6284850D3BA0509F6F01380A9522370B326EF66BDD9744D9DA61E665613D9A2A721EE69AD14FD206E949FE601F817DC02220ACCB5441D946411B63A5E6782DDA7578719EFEBFAAD601ECA9A023D219A624B306AF5A8E0FF3E1867F3777A2DD18E54A358D384067A19010F2443B4346284BFB3C8AEA87523EC534A8204F3322C13166BD8BF8E354903D12816493E86C3C68DD133E9C64596617FC2E6318BB3870045254303446CDBEDE6BFDA05462273C83F3B6F1164C4C706F4E4CF9D3C407BCA6E64B6350CCE21D5B5F3BE0DC549E2386991D134FEC66C185B92B89B9B19C5B050EC535AE009445B0B08E5ECA2D519981EED004FCC7DF487D6B374E9DD4A529B79A04A3C46024DE77AD9E6DAB8846CBC4CE765766B657C8632F6A51C66E485EC6C41615BB8CED7F6DFF87272F4D8D0A5AB9E67A041D0D0C6FF2C1BC2740BA364C103A53E1FC3B1F08F1CB5EA20AB0A68A7DF13D9D1885EC54AE40E091AC58E96BC843147BD73570D8D2B66182D98ADCB03862348B8DB5E9B3F16B39A59561DDF05A468B26E4EBAAF3E8446ACB97B3D43C96DCD515CA26A645D16CA16642FBDBD152E47864CAB2DF0E2D5E5E5AABCC2CE5FFF4F06BF92939D494F337C01B73ACB8729BBB45E419C729D41BB2C9C1ADCDF5EDA9E9E25CB291A5E20D7DE00647A98B842FCB3A9BAF6A28EF7501187D6B20571C10D481FD11FCA99756F7C17DBCE5897C8FD59538B69E915BB57DB273DF11F13B2E2531DF4B402AD2119E274BAC8A4EC998B01E963CBD348286DEE6C449B9DA958BE5464E49BFC5D2F59F1FC46CA8B8BA62D36A6BC829D8D14ADE5DFB331E57E5D52A5A1379047518294DF442A865052AC33BD13CBAEF622538F04E5E6FA5E4C97CD87321EB1C3A7D3A19BB3BF3C6EA4CA7B2EE0D025640E98578BC2F026B59277185077C3131E83BE661FD8BA2E7A264C0579D7B049490DA9925E94B6647908237A78E03B97CF6B8A9BAB7FF9ED86040CC5CC80D34BCECB1BF53F616AB84437364DD363CCA2FC86C44E379B8EE9F7F0F4166622525284378BA665164F1326BF9ACFD191BCAAB35A839C9F1569A94CCC3AF7CA72B7D48DBCACC3D9EADD6A22079899E235FA26A3E52F5BF98B8C4F259466A2F63BBEC04B50CDA106AED90B4DF23CDF9CDB513D1CF6D96CAB6A56A0C1AD5F50681ED4824B180F10A1F9D35ABB48A4146AF01822655C50FB9C00F5AB140D577490C5387306B9AC64A27E424F7B81D229D6287D22327B0F3EE725A25E69FBFF1EA51E244CB5F72DA7567B8527AA92177C3E4BBA0273865206EEBE3330024224D8C5C5F896AF0AB5A0962A8665B66A5EFE910AE1CEF74768E7B91579D7F18B8610B84B482878F7E3A6B37649D10AA6353468D8F4CE86383EEA136524CDAF973DED1960B6940ABC2A3BA0A3EE64B4357DEBEF8C04F13A3333AC681CE5025E5343524211C86C694B7CEB8DABA2A2271766BDC047AD64B8BB2DE70958DF43A84A46E3711FCDD8F57AE62D64B0967F7FB9EE1D278D8CA40B3D96866FAA4887394680773F350EF294C5FBB9EAEF15572AE55EAB6434E3DB44D8D750AC68C3E23C002F153F8A4F183E810E94F70C09EA260759CD1126C0D798C0BE6C1478238CDDADDA2A44166F78E16B22F4C67E96744241E8188D2136135981A1428955EAE7828819EA2CA4BA10808AD475B7B0B09F5E6126758A6946E215AEEE81431AADA34A7613EF66919C0FB7A3ADF3592F0466811C608F3C880975B7A824291FB6721970545D63CFF30A3D1E0B0A164CA7EF5351A4CAE6FC5CFC80E7E84A2EF2E07D413CA5E178A9817BB2080E93B4734546A0CCCD969D16614DC7ED6CDAF22BF49B71BE323CD73299717A7F5765F3AA9DBC5806AC62EB0CE26493089A98B22851F7A4A1115AAD34B083B784E84E6763F68D9693070EBA97A44EB9349F94B8DD6D3BA1FFDE9D9B6C8129A70851E42C45924FF14A1DF2D404A7AAF440A1C49A955FB93BA44D4ABF7F766C6BC325AF1BD18D8E8B528A4D7BEC1AF3C6EA1AFFE57C1CB5917445C393C0C6C7883B43BAD51C82CB5D9FDDCE6D4634033118F0D7F7B3D3223F7AAE19F7E08F83A4EE966A39410679BB4DF8425E0DFC1964CDAE5AD271862E5283A17CA12EC9C81C922B964A4C1CE9091556C855E02A2F2DA5A607E8E5C9C275A7C8A9884ACBC082F3F2C182F642AFEABF79A4B62501531231FC01B02650EC341D1A762FD19BE12973EC75B4A4BCAEEBFEE71578FE0B2959A344049BF9FD1435D0D744EB3DB1DDAFBD60D6DA688D8AE5C3CC85256FA00EC71943683850CBD4B3C846FBCFEA86E862993DF385417B58F31D1CE7FC9DB5A9AC2D381A8A2BDB54F20F468EA32C8F502E2F8CF504D7B6DF89EBE1FC8C4B19430B3264C2687175EAED76807B0E78C97A3E237908461BA2E07A58EABFD63D3C92B0F6905350F65E49AED948111FF00FBE8D37C0BFF02032D681C8D3391F97398E2948EB2E007102D61E63637A2A7145CCEE3D18CC6331650F4C3C105C66A94CEFA252B301EC687ED36738F2A5FCAFC4292C801EA869E7976A14649AA5FDD2B80C28247BED01B4E171952D1764C17C6A0D916A57633F126EC929E3D99BFB897ED1EE720B3ACEF874DAB938B96F7A9C2860D8791F519D7AA4D19039925D386BD755DC370C7A93F9A66D9F0A1C566887EDEBDBAE639862CB433023B90E00D3C72F5BD0BF8FBB99F001E2F95CE65BB47B25F0C5BB259F82DF7E05E8CE8142CDEC85B26C573D329EB8E0B133E46815B2FDFAD80F8A0F19453FE5333FB2E83241F850316234840D70B955A994C4194BD131B46C39F7C8611F2DAECA5DE3AC88B4E4447F1CF7EC811DE3E30FA048BF788D54563592A9658785B79FCE5B7B4CDBDC1791CDF94A9D2E852178BC084890573E49EDBED730725855BFAC13B335930F5F9EDAEF7EDA4795A3DC338C5C12BFE0580D7F30DECBCCA7F3C4CFDD9894EE4AA4F75F6B5F531097EC0C1748DBE473DD92D1879FB8FEB0EDE4A277BDF5B8938D933F1AE23B2347A40DAD45A8BA2FE9F0829E9A81FABB7ADD4414AB6E796F0BADC4DD10E3F0FDC26F96BC89611A640E3334FDA5969547D84C268FFF9E055A2DAED129DE77D9735865C3F65D8AD89304A2668E18BFE3FB52AB50BDA5635FBE135E8E0C02311887E6838A45A65097AE18A76886038CCBA886350C49CC1067206F82A77DBB33722E24354B53BA8A3E1833D861013E135956F1DCAD89EF87C7CC4C496EB211A73AB567D54BE093F67DC15F2087A481A4FE15B1D55B6B4EA08EA8139F4354CC3A3A6745F1CDC951A267E264391BCD9F7332B1BA66501CE72497EBB31A48B9E5ADC1EF99F4985B3AC23C28D4768DA0E2E3E9FDEB610E6912335D5297AE391F6603D6123A89A61A7798885BB0D2794D1887AE626D6508B0D8C9ECA247E7F687093318A068FC37CB29A8FD7F86F99D67748A3C7D76405FD851FF09B383E8343A76D4FA8F1811E902C5D4AD7F472F44A5E1F2689B6E0E80C2ED8008D074A44AE6B4E2F45E9E72F45DE0C0B4C3E75A75A452524E7A1C2918729E8B03F6B08797F09FDB76EB63F6CD90B880D4C421D58CB96192CBD7AAF3574194E1F6E54D61594879329A4D734266A5E06E44415F1988E5B9EC45869A2A42A0E37D774A8AD358D9567703AB9FD7F5601B225375241E47EDE24E8209F22D484C8454F18E66A961100A83FFB51F396031D5F6A575E19BAA3F2D3A75486B393E9114C5E36C82F00F9A8330506963B885B0305E4F3DA68DFA35540BFD1CFE38BE5CD5095C18DDE3DBBC4FD04B13757AEAB21973D402AB475CDA07B44E6E74B397137E9CC65F9BB0458F7AF918EDC95D425AA37A0C59091E7538186299AE398D1E8AEBA160A6B711DE34A5DD7E0A0AF68EF84CD64432D14DA9959322F01207581314B18F544C5F1D93C3581667A406765F0182EEF643A88C3D0E0CE10A6860D0852CED2683720E26C16EB9C28A715B3923A57A7101AE9CE6CAA25A9F16F67EE938FF8AE11C4F75F911C74799A3A49D55227B5B2A0467000404BAD97A0A8593DC2D38BCBDE23E220385006364A1EACA361015A3BF3A1F7C51053177B1EB29D3C9CD12C2AC035EB1A32A558BB377B412405287ED1177E08A4CC10E8871857EC29C20C940B5091D05AA6090611C58DA71A291BC91E7A0830ED44F47B6FD5CF0703CEB4F740BD60E1E360DB229F4463AEBCD870DF572C69E9584596452096DE02A6E2721908798378FD7F6820F436DEFE018A65B206F79531A921E299A78B74ED600B6417B49F89B336B95CC4615B3CBF6CE1950E6829D2DFEFF80FAC5EC67FAE31385B0A8C3AFE476AB14BD6E37BA957981E483CB5ECFF6BA8B729B1857DE05C830CF03155F1AB93D415657C3093D2AAF255A9DF729BD5ABEEB83BF937B153F2134563457AA405BBE9498FD80F2D10E8FB849CEFF4167D7594C840ADFF800D794858763F9CFBA6A92C285A8821122A15824D02FC277F906557AE14E4CC400C277AD6C5BE6221FB194B7D5A328B5AF3FEC486D8CBDCC8CED2D52E9C39B4653CEBF749975DFA29FD8C87C72608AF51BA571715DA95D6BC31D57C726061FD4B683217033900753CA96EF8ABA2078DD44EEC9FCC42DED8C7EE9E597942B600E9EFBCE1CD7545AECEE80ECAEBBE7231B0EE3FAD17B7017A2F5C551DDCD356A3376AD2120B7EF9B0653086F4ED957CEE84BD4A88DD8A64D3067742153853F83FBE8B33AD737829D7AC3D00125D150B08734B373B7F2A395F7943A190030A54E28E91F0E58A6D72C1338573FE554C18316427ADDC188B37499AE1B5B000DE7E6FB2478BB2A2E1A1DEB502E787AA6F72DB54D88FA8D262BC8486453DD11EACC7D273F3365CCE547CAD74FCE4C25CAA0DD547F2CB0D77959CF43E1B37B4C17F097C77E9769753A2C1B7FA91A4BBFB7D3EBAB5848EBE60E9917EA85EDD9AF0FB93E33264AE57D4EAF2E6EC501FC7C74451D99BB9EDAF12B39994352503EABEB28C0D021423617D439C609CDBBDC0888BB50520DDA35045E9021EED5D558F0BC2D31223CADDC9AC94BEA96A6F60ED6D535A9D1575E4AE2CA408371745DE0E2B91F084487830FE3AD2181FF1EBD80A45A500367165FC8CAD71A11D59754FDA8E0F6AD38FF3FBAB4BDE4C14933CA1824FC561AC220FF5271387C4A0AE20E979C8FC5317D1CCC277D2281A8A303AE9D520CFF8D107BD28F80C455B08A95535E2CC1F985E24CD41E46CE956E630BEC5DA1939A1AC8063B15D410BCD688879412A4714F37A853CC966B156192D301594F583A2436E15CBEBC9D6563CB6655DA6583B3A100E479474D65FDF8FE1A44E3BADC7ABCCFD2E9E2D3EC14F35098A870D2FFC0370B1199C8DB1D523BCBC8A231C3B5BF6D04D7426628497626CA4846371750C42AF4C2FEBDCC41A3B3AAB0A2AD60926DDA0B932703F15ED238FE151A4149597E145FE11DF61C31860131BA3FE9081AAC3F98401E3EB06F1DF9F10D11E3717A22F74727C75851F8E6C925566C66E8493B1DFDC53BB2F6340EBA242EA6C8B3B3C684821F05CA6D09B16B2A41C1673BAA70CE49D5D0C45C559EFCA422EBF5DB0EF1C372F8CE9D83A5E8AB55CC16C22063EC4A3D7C9726B19F7F875A5E126D29F2511DC08E4FA84BAC62B0ECFDF279809A0FCC5344013A46834DA4F3C9D395C8605EA3882C65636234E76581C9FA5805E0B235D1E7F8CF3CA94C479CBD7DFCCB06A4005C683D24AF5DB7F986B81FD0C106DF02CA17785E6A7F7F35FC38D5C9D6B0486209981623A5BD42E339FC2F9CBC722F5A67FDCEC721B097EA0DC9D0B4135CFAC215086DC6442663BC91C6573863B751E4796CA8E01F8747CDB9376E19E4CF06A7F7DF6F8E6BC93954B11D4AB36374CCD7CE98055160EC22791490802C3C903BD36E3B4E8B8733C66E3829F90F490A830189B4AA7A4A71BF50F24A9130C23451B33429BC66095D4B071724D9B54DF5929F5B5F33309640B1472859A317FEC743665BB01705F66A9A7D6FED17AF87BE0920D55A40B5F8D0FED0D82842FD599F694AC5D86B39C2F946F092A9556496AEDED18B5271586D03C056584EA6DD408E4A86805F067F39E5C02E2B2B921642E9B2639ADF8A042F4A709A47F4780FE2977D9ADFB6A74BFC2115E5B464B445D5319A619B1CDC8B953AF689CCB536F7B6BC71A8A02047686D35B5BA070AE436B792425BB8C95D87041FB4B9E0331B6EEB91D5E0354B961E614B70AE44C027906BC537AEEA7B4E4CC4D6E5F41286E1AD95131806FC2A5CCBA7071F0628E543D7CB38330E1461A675DC7A3F07E7C92111FF06EFABAB93F8633A18537CBF4F5FFE01C8AC45633DA0FCB43BC2758056EB146225DCC0DBE2D67D6ED5FA73DCF7B197E913B441FEDC3486F2533CBFF360D1FA8A5EBC811A8F43901B9260FADF50CFCB614EE65A0A9B74BC1227CE22525B619998A38D915D15211CF7BD4B7AA9B2A9C59758E4B22DA19EF993EC4FE0D07F3F85B39E68EDAC6F999EC46A4CC882F60DBFE769A24521C01988F83C90AB0FF95A9AAF38EAB4D63D5B77C9999A0BEDE74D5603CBCE75411B9C42E775C84015FEC603FBDE120614A8C2EBD5AB3584B8884AC7FB76A7EA96A45CC1027F39EED9DCE24A75DD559625000878A8A8DA3650734BE7795D55FA628E90917A326E4E98DA8B781604EEC898257F686C32CA8A247AFE902C09AE4CBFD33E927B52AA0C3047FCC6BAF87CBE3F3FC39FE53C5BB2459C001EE2D4D8D4C5041D3A2758E2121CD42049A5F3943A184283F6E3230C8148D11565D327BAE178D3C3B3A026624D992F3BC3F4D36FE2DBC602AE9A7CB7A8B8AD9339CA3C85748C0E763A87CFE0EB4EB61A8DD9534CA71493EDFFBA6F9F10ABA2F7A3B61EA0828FC4988F8DCCA580C3297CD1E7685819D8F01E5FE4B1CAF11E1AEB76FED71D99BF8A1724E82376733FEB266F9076AEFC952AEA937491E2697708A4FFDAB91B83F924E20D22FE67E756CBB990410B48AA622BF24C43A084F74DD39E7510C17A2F2C2C108FF0FE227C9CA8748958A1AFAC83BC3D5C2623BDD0E66173D37A5FD26C1A028CEFF333B430D85489095DF3A1AF33E10083B31C96D6D237CEB3D4E82548D8D677F14E94BA400CF4147E7B50CF840CC125AAB21F02831213F99011B893D4819AACD6E4D9D4E6E21DF78B8832B94B54B7BF2D8C44278207E868D48588217B5B95B08A7B4F9C1277E30791E5D412CEC4FFEF937D32EDA7DAAE75C2D07D3698A74AD2CADC2760C0C0FC8D9F2D84BFB4C90623DCFBEB02BA5EBABDAD096B640DDD2A15B1AEDE45A0FCD2DC6D0D4049CE0D6472EEEE4C13820402908CF7F6A5BC1D7A1B5191E543E172222999125FE174BD9B83F4269833E7DF05381DA747A51CD5A7278D3D09EADF9D3D56F453D2211248EECDCB1242A33653ABACF7FC2B187D8BD5E74E304236B15E65A4D74D1E223CD46C8ED021CED10B45B7D09F709B7695CA7C0D9DB6BF2027CAEFF9BF91ABCFF299F942FE92A89F6ED5858A8402C69D1E09965038614C3214FAB9020064067B030268B35732B7816B59132EE31AA01CA091ACC15828D8D1F90334D385A40A38BFCE60B04B686DDAE266CA0D6F808C2DBEEE16A1FF0A9D7EB4D3C5E4EC7D388EEFE725A6DEFE2CA69A14553B70F320D32EC6D340C846B5FAE3DCC3B690E30E5E7B854D4AD881BC3FD6C801C9726FBD0DDCBFF98DFE3C037D150B1D8E3169C93C41F0E3A57B30FAC8EE46F621F6DCAEE7CD1017680828F9BE8D3165AB1B48B7436629167E4C8129B97E93987490EAF649D755D908D4ECD14CF09FB8AEB30A158E7D61EBFB35FD072EC0484CACE531EF82CE1D0E34B00FBB003FAB5263524D3DAAEC6029BD0BA769FB4EFC2AACB956EC7F8CD768200839A923FE30973210C1E244D898C53A858261C377676AB8F17E22A71ADF66138430161C8514E4401D77183485FC92C7AB4AD886DE9E361038640926EACDE9A34E33A515D4A9CF26349D309F41BC7CCF34233585598E24D4BDEEE31DB3523E1EA6967DE69C67015E4D7B7CF58E3D176F6E776176546D6D2F6ECBF924F7DF774DF0D0B44D23CD440B45894EEB90618533E5263E389B8A2E0D60323D7ABF7F1D04EDD1DA98809B46D1A69CFCFAFEEAAA661F79215FE2738390B60B58D151C8B76B6D3B3B4F5E131FB1804CCCEFA361430C29FF34D4E9177802858E6F1C9FDE9667581E28936CBF0935D99B73B90DBB754A17B01231ADFAA813D1AD01EB6C786BA97261C9F3DC6AE6F67686C7B9E418CB63FCE48E3FC69A6D8F5285E384448F59ECDDBBA3D1D9E136EAB23E6B6BC11ACD7B854453AF0FCF66C4A613289E1379E359B96632866C627FA3895077430A1DDD76523C314E4B9CE7163458D2C1EA18FF63244B08F2C92923B0A949A50B97DEF3682A0F3CA1F412FF00824956E0C8C3B8C6C3568F39B02C49D47CBF32B43BD28B609E7A9E5C7E7601C1401DDFFC024DC954D70855F851C375F95888B10B3D24155680778E04D226808B5F6510636F00419FF83B0317BDE59FCA82FB80BB6C05A626B17AF9F0A5AB2E862493BA03D13EEEF8ADE0654A01FA88253DC66DA6C71F7F307395F75999B01688C3871E6FD1A299B99532D6B71B8BBC21109827D95992ED2F0EF7ECCAAC42B0BECCC35295E1C43D78AAFC0E53101442C236CB8DF44B6217F0B3872C704EA0B34C4EBF785EDA1411FF673BE688B24A27A9EFFB2130C04B4E8046F65F5B3B31F5BF2271042D46ABF7F032A0F15D1F1F6B721818FC3EB1B854439D04FC744683133AA489AED3CC03AD141E4B2C83F0D7BF9AFFAE7C151B0BF747BB13480A8B321B11D261D0BB591E535813F98A43715D9266D299845EAD72ED76B3176D34C78B24323181526D23AA7D5B12448964D8916F16FCC46A62A280CAFCA94954ED0ADA299B308B4D529DDB20413F4AA0404941CB6AF60577C417CEF5F4C9C1669440BDE1F5D80EC4299E0D43C2A43F91C6834FE31694098CE3E9172E9AF744DEFC6DE89E957B9374D345A9F8B523293420BFACEA9328228E98858B8A989EFF68F0874746910701D6DF9CF0DC491A6401770636C32218ABC230565D91D505FFECCE90AE3A8BE5DF19FB5412F2859DC0F887C4F6AC947E44299A30A4F67C7B9821C85509CCEFF13DFE6E343F741B5106D87FFA75BF3470D7ABB88233BB9F24057C9ECF1C1FE9D1F3BF8062FFEE8B9C5EFE409D41FD8FCB8C4614F02B2DA2EA4CC94F5F8E2EB32C58CD602E10402CE12EAECFB6644926CAFA32B082718DF1E4E9F04437E84D884692B077AB7DD98D4631407F2EF840B19A14CD4565F6254523E9C84F7486F66B5C6832D4337E7237F20F35A59CBD946FEE575A38FAB9731AC0E37341E2ED83F4972B211C35998DAE385C5E6BBB091779D503A08DFB8DFC38F11E7723A85B4F93B1AFD76E5F630F69459133E407D8064C977F86ABD55615E47CF79F085CAADA0685E72C48D7403ECDD6871103AB8815156558CD34274D238AE4B833E988F61801F88581A0E98EAA9979C74B1DF27A1AF33E9DA22164EEFA7B28FF9CD79E04C4E234B4377D38540D4571DF5625D360DB499E1050C0030276B7C423993EC9938609447EE7EE4E63800A000969408531EBE10288AD1F648563C97027A81CB5D2CF7B054240F75BF3187A4445B045DF85969A4FBF4E722128A24B90400DE8B91B4F7CFFC3AB98B26C9BBF47006BF9BC76771B641B244CCAD16F4A42F9C1639FC32A96D889822B5CC42C78770B07940E7E28F1AA54C6EB5C47AB0ACE139549EBC88689F1930FAFE095CEECFF22C2ECF25BE77F856FD41B5BF9960CE4B741CCD3A430139817BD016351628A61EBED966B737C7E7308FF5F64063F2BE2E4AC934B71F9849D0B3EDE44D1A480A340F40041BD58922EE435607E92646D562958894EC08DCD39990B35B288823D6999C9554C977F69C11038705B0BB9B7CAAC8ED3773D17B446359CC5FBC78FC958251830B66681E3AECEF233ADC91E5778749C02096F4184DA43B6759B7D0EF2A75896E4DDCED2FA54CA791A046D38D1A708FF804C59ACEF460C9DC8469CB505CABEB8DF7DE745D9E031336573030BE8A8DD5F9D818DC945BA22E4CB11520F34A2E07CE38BBF5A70FF522A23B6E95F07ABDE303F567FE446968291E537F9C4AC6F393F55429DD7E34DA59AD433DB40CA283D58DE72A6EAFB44360ABE1511BFE179F5F9F4A1408D65481A1649DA427D86FF9416E5869F43A715B2EFE9854279E65C3DC8BD7FE46D467B6A565D13B641E39C21450FF7820A3F6042AD2C2C4D24D582C88AF33B1D02FDCDB56E2FF69D98EACA99BCCE52320F097DF321E27B5F21653994146909A780DF8CC625B5AC99A5DCB8D9BF244DB1C1F5F25C483A9B42C4EB3B9E46F8A9A201ADA2403C24AA31CCB7FCE5E23EB6E58D6A9C080EFC6A7F70D8FB72C8950E24773CD4072D3388E6E23BE9A0F5EA140FDC619D18DE0531ED099E17DE001A76DB0F38ED088BEEB4D8CA15212A5A8F46B6BF0256FB188DACCEE0AA6070B4EB52F59F67F1CB19FBEF97A94B10E7A98BCA9FFBDFC3A1F218989BB0D00305AF830462EE9E619A863E15341B018D8B88944FB7D44185E0061024ABD5C626606B6339D7D8A708D7E7AB09C4049A1A9E170C0F6846AB66113BC667141AD69820B423BE3F0CE0B1266FF8AF6F96D5FCE6F9FDB9AF23B10D684CC79721E2CCDB4110FDB26A36D4368ACF3D9260D1C2C76E7E4EBBFFEDEF3507C1962FBB3206B0592916991334188D0AE791F148C536ED8C577F0EE7A60D06B1451664712271EAEA3AF1D4557619D1ADB6AACAAF0004DD3AC773FE5AC2EAD58C30EC9419713A2D2C387C92C2B68A0DF8D0BC73F0B8F7A986CDCFCD2CA540C19CD3D06879C4B9D53008EA5236738030FD8088595BFD699D9F0E766419C15F75577DEDDE2CD7DF1DD825144182DE4997433D99363C534E2436BF7F809EC97B9964233862E3CBB7CE71E87BC4A88B2FA535D810EE90446171C3D26585D00EAA18A5DB69AD67D29C266A3EA5B7908F47A25F58523D08CE3E47521ACAE08B3EFC7C13B0C675B0A32765A60E6B72F087886579C8AFF5D12FF8A1DF84FF14217DCC0257E6A14DBB38B9F5CF681965EABE78E95F6C54A894A6319FBA8DC715C9C6D6513A90E5461D2F43A5282084F5583FAFC84C455BEA21C335A1659834234E438AEF44B6ADB77A7C6424DD7A0718A15815379BB1708A5B0D82E7F2967FA371582A8F2A4C7311B0D83DDBBCBC133D72370A5143490005329E555EDC3AEA9AD9588B0E8981C9AD590CD5B04CB772FD566E699E6BF8B447A04D4B6F0C092E6A9073F725C868268F30A17E3DF6FFC04662F075FAE2E29056D43E9363991A7A77E64F7C132B1F6891320675D8A13882AF9FEC364CC02CD056257E08ADEFD6983858354C389EF62BED964B00FC386F2616FD16F4EF308C7400F69EC1776054E9A964E5656AA33F4BE7073F5662732D611A7BAC739B957EA5AD2A72DE9119048D7FF694B8AC808D22D749D03B5785642960BA9D00BBB51E6C6C0D53A2926B698002CCE82FD9A0B27C2BF161015342B5DFE63CB6DE77815B9533D8BFC1F66FA520C5C53FB2F5C51FCBE2059A8091B6186D3CF9525915B8368BA344721FF04C579B34F95AE42E22471BEFF99330C63A818C957E24C5E18A296B135C51FB1D6F59725F35AA3B3245CADCB4440EBFE11C6BB7A12FDAEA267AE4723F593F5B878193BB1FD64EA79222C11BED07FEE05D1873C813BD89333D44D9E88EE9C3C50A88AE9BCE441130D70A685195DF0F3CEF271E287038483E3482321CA26126D7EE5C6FFF5F574394493E153A3D2FBA37AD1A29D4F2914F19A6F824B87348566A9DD90834A23ED170E31A5AA93F641388C3AB77B69963E6C9E243E80BF04AD794E4224EDBEDB3FC2D6AFB6E7F5165BE9BD674DDBBC20C486C9E227DCE46196D45FE774BBA71EA4C34A797231F186463EDB27FB8595628C37978CC8CA9872F9876F389257C065EFE41186AA320DF3628296CCE9C0BE9BD1B5EC21BC9E3895F515BFB86DAFFE2E127DDF57A13884CB30F6B261C33A2EC9E528B78CB5F858C12FCDC5EC69C5A2E297260655F02665658C176AB99E40E602C7EE4C783DA439AB890CE7315F6E59D9C5DFA906A374FA275C0BBE3EEA564450232AE9BD66D7E2A60F0ECB1CC6CBEEC03C222786C224E83B44281217CA125F7F419A053A72ECD36EA796FEA39839FE48FFE65B3A9D7AE13624205693A461215C2F2B195758156EF4DE6574AB3460211BBADD156ED51CB356B9F7C735E960DDDB4B27ADC9CAB37F5DF2AACBBE11631B6160B80B85CB12E97D52F29C5D9F1A7F3284D86115D5028A5EEE46E1FEED31C777CED80DA13ED7DABDDF65DA0BFF384200D955697FD5E930F65455E75C5A6D470BA5F284DEEC7AC5CC813D890CFD6DEDFF6F5EBF0650B56B2CD71A2B94605977D637D4A321C382BAC3B15526977D107445DADFA34B0D7FD712DD87B4C3535C77BE5F49281EDB9BBBB73DD292845CD3EA13C6AC0DEEB50B99FDBDE2FBAB4399C985586CF0C9265E08754C56EAD85D37E60FF3238DD9E79A0EB6FDD7B8A1F12F13C08CC6D9108BB434D3A55EAB6C3F89B93E50FB313A04EF6F4AAA5C8596E19211D89D3DDD81B925A46A2E2E8DC985DB083A570462C556AAC9EE213EAEE95CB341297C4BCAE0A056C78956E912DD91ADA374B1D55EA1F3422C5781C4B68E7D9E1A0CC0868D9F1CD427AC32F2ACD28A19E90D16B91F8DBF380F65ED81397B0F84269507D4EBADAC93C24898CB205A4D6E3CDEAFAF2141FBAC25AE6D2AB4022F0BFEBC681970FA996E17E478144123B9CA2B733FCA58A94383F24D99EFC88074D7A24F4612DECF02DE0DAD6DAB2AB783D46B63FEF494786EA6E3E3E07ACFF5C2CD977127F4A9E144846D93798D44CF64A263878A8DAAACBAB37537B00E2599073FDE4D7807F40652FE54852146BB5A32DEB69DEBE0A4804CBDC38B95A7A2625A5F24CBF73CA503BCBBF8A60EB3EA620F057B2C820F9FE589B9FEB9CD32D85CFF529F7EDD44DFA3D8B7220BDA7041AC35503E08961961F879840A3C7ED311B01E80690EFE4F9699B300E5F06D670882557CEC8B80979DF9C975EC14475B1A20472666DB39E52DAFDDA22971C2B9B7F2AC4A5723776F3994DE7D6AF5E397277A1F93A2B6362EF1CC808C9325547CB1449EA42C409C205904CF2096063F7AB31391175FBD69494F3AF5415E9FF55ED7A77EB975A4369D346A3C341C61BA2B227D55B6291ED5D08A6F3CCABDD1B2E6719D83067CB7C2E1FD298A26AA13BB1F5FB50F1F323D7473FB4C0CBAAED7366FD8E79AD270EB8ECB1DFB108AFA262589551D1BCA0EDADBF4FE72D27371071AEC6C0063624896FA1D3EE96D68065BE13DC4431E57A0B54F3A15FEC491324B21532610688BD60311CAE693CB1BB684658EB7FD9EFB8D42E0C71D4BFECB4EDD2C1EDD97A60FCE8B8F16070533A6175EC7E1B98BC0E7FE12B9F4C39BF9EE95FA86E1500192482D50B59C2C00A395AEF7041100B054AC2D7CD1B54973565BBDE992FE723B140DE6AD3973F5F38C05508314495878D512C320C60679468CC807D8D250AB9B66B0652ACFA91BFBE18BDF5D59F81B33FA0FFACF78D889CB53C84C97CAAAB0653D720F207F67908A9E63CD977772E950BDC14AA9216177AA69E9B270C65116E1A7578B21155ACDA89EE3C6A4CE21A7CB4CE944F8E460D729D1AAC15CF5B4D064B5E51EBC27D32488AAE59B50914FC8758FF60127004603AC017EBF6E52EA2035114C6CCDE0236583ABE1A2DB187F71B110977D26EC449177EDE1C5A1EE871E3EC0AB2DF1B97F0468C5D0699D8A183E49272B46D8B9826C1529DEF177BAEC360A8231BB665EF47370D87137418ABCFCCB2C2416597433FA67FF638280D4DC2AAC99B41E3B25FA5AE478C6A38BA3DD0543363F724E8A6B1F6A36A6F514737ACD21848CF07DA7B6F6156078A96B5FFEE101E4759BFFE21F0CC3D65BF3880A692EED29D8CE24CBC0DA0F774FAF38E377E98E87CADDC82CE7088C74EA06B44782649345EDD58813A17145CD0B52DDEFF74D88C1206205DB7402AA49C34606C8588C2BC9EA466597ECC75C09C40032D8C87203ECBFF8C12445B01FA29806DD8BF3812647F99C255428211DF9869947D288AF086D11E4F1A6E6721FB1EA065CD18873FD62D31C1EB9A47348DBFD00DEC0BE50C5E06125A6E3D6B73C87B803C1CEB17E4BDECBF900869D95784BFA6DCE1DE48201D8B78A13B8805637D437AC9FDA5F19301595B5A64B3A4C192463F5B28906B71F63A0684FCDE876DB01A47C916B84D8A752F7AB665094DBDB055C5D041EB6B02775BE01A742145DA141D1A6FF77022FEE0524A23B1BC24F8A6D8232B7122EB94D6335894F7E8ABB93A7C5FB1BB1B494DAD04D8DF170B125149A54A3893C2A743AD12AB5D2F191F84F1D0C2CABA99A68272B7463193B9C346C6B880041C9C54F3501BF32D4E378517BB606AAE0ABD7B1B27260B27C9542985399A21F4B67C045461D71FCF5CF28E535D9074A101449B51F72F5C12CBD72FD81EC0602106EB63C43581BD7998F19253BDC23D7A3ED484B127E5A989DECD977DB0C4666B609786899FFDC9347781F490D791CB5AC48809A69E1536B7EA3FA00007BD40E6D6BA7C30911CCA60601F2729E0084EFB7CE737FD67B6320E1C7E3FF500CE66FD5CC7AF7FC29B3467B4C96CC5C768E79FF100EC5C103EC47D7DD89BBEB9BC8DF06C876EC3FD88848EB633D0B0FE35282D867AAC3C0C05921D65D51829C935EB11482B68172026CAC0418DA12C12931231B0B7C861C7ADCDE8129E05BE10E8B8D01E07C4B471045955F2EA501081F46D6879E81B33A4887F030F8A4D26E6DB0961AF15A550A91D9D80FABAFD07F3DDBF5887D39E015735B3C80FCF5C453B0147C779D912A29F1DD2B951F25F43549FAFA6750307E971797863507E8B0C0511457BBA6786A5B9A44E61FFA1E542864774B3FAE939B12AC30F0390C6932AE18838C19BD47B29A8A50CE44646B31F6018284FDB8E7E3C5C83F70AC8BF8A6A6D6B5269F6DBDC534944BE39743F3346CB97D1A460D2BF8561A7C3CE8707825BA02E187AA10D167BC81CFA9EAA2595E895638894262654A8FD2C9B8ACCCC926CEF77F15F950625E2C73386158255248E1C627E5AB220954B480D1AC742A186069F6293CF6197CAEC4DCD995D6A1CB3CA62F9555406232C7C7AE893B074D5E04C008A2EFE2BC4E9412F55E4286E1307C6BE08043032773BC869BCF74EB685ED6F303AEE84EEB7EAA579B455A2500A9A4E9C505A862B54EF7DC5C48DBEB2446E4D5F5623A603E3D524217AA152896FB862EBFDB3F1692C6F39C51F63FB1753411DA8448B904D083B53BEB0DFB4800FC92C6E5C4A7DC7B96ECE0CAA0A95EF352A72A50466D10C4527922D23D6CA38BC8AC56D813F51D25B287F739B03C736D9705D3257B49DEA89AC8694B3A7D9B2580258C016873141E007BBA822C0059357FBC39B374B340086F9558CBAB2999AA009D1A51EEE65645E347939B965A717EB9B49C7CB1C81BAB242552FC6BED20095CB24F0A93D5242A179963023D1F5BA6C1800CC57AEFA0D705FA05099B82AA8E2239A2E59301C3DF89A1A9ED92EEC3E82380C0F23E89263572511C651C828D74355896385E917100E480FE62E26B2822E6AADD96AA1004419D9FC491065FC2FB3D07A4168F1028092F6D347274163D65C0EA400DAB97B2445345C4F32032D42ECDE328BCFDC35BECB8262B1D14460983A614DA80CFB8616A6A69E6285A6F9CB31D01235282D1C06C5125A457533A36C3DDD96DEF56EC2E99DC2EA413C3108ACA955BE9DF18AE37FFBF0A7DED649FDBA235A1225BADDC9EDDF18B4EEAFB3B83EE88036BA75CB55003FD8DB76C4612EC710053297166E3FB75E3ECB07B7D338C924CA637B331DF1732A1E6D626E4F81BE5A02658AF826C77FB942C87768C0EEABF3B2E8074D58739F5FA98942ED37ABC73A650B0AEA09E34589582EBB7E2ED77EE3F51EFB3199E8C695823CF6091907822AD42B11A1C200BA38975F81CA88E0DBCF95F1C6D8FDC33291B7E2212CCD4678591FA7A86D5A6027EF573496DA35C0145250DC3B3E10FF2E728A5B414279A509DDCD5AB929A89025D9CEE3DBED21CE52C42E1152DADD89F3E21DB5AC5F8334B3C43ED7362494A4BE2B84F631960247DD420F1FA3BB373E871D5465CB2C79DEEFEB376DEDF6907CE431B52544F2850E171A95E9E795FF8F6DAD2AC2E77F1A2ADCC23947AF99912E276A7E7218F17BF70192D1C75FD724AF0DB9909594461F3BE99D5E041AEE2D30121128314E3DE5065F0F14D1682D2B3A7F5133F0C85F50EC0A4DA4173F450FF3AC41CA6038F5539AEE8FDB03DE6EB989F304BCCDB85EBB2A5B9CE629CCD9C923CE7335AA422576337AD43E5E1B7D62B1E278610097676D47A2E8DACB33F0F636EB002C18AA9596ED686A6B9AA7AB75D856650E5DF589AE15D627AF86A22CBA650100DDD386CE8A10F7E57E6A926DEEB0E479F036BCD3FB79CA31103F2B0C3AAB4F86A7AC52ECE395C4BC15632C42738AFF4B43F95A635425157E498D35CE323794116195BB130C45F518BA8CEF9687127186CF8D87FB4D564EB3104BC0F73307BE48C05B05F309A2BD09E9F5AC481C514A12B88F55ACB1128D6471B6D2845D92A79DED74207C1D1FDD182BBC44210B1BADCD056F7110C6CBF459322D99D508E5FB9175039EC577439A420B04F1FCB80366D8EB1D7CF7DE2AF04C92C6313FC5979CAF35111CF615AAD7D1289F5141B54F930A927C3E1F952B35375CFDC6285124BD6041C37F1036DD78EE170CF8FB5F27E9384632CB888ED7C7D6100A88029360EDC4A3DEB1AB7360F16CCFE34D149BD337F74AE9DADC36A7BAC3580A3B367B044B7B08A68690A97C27AD7106F0EF2EED5EBB78C991EC1968E9D163BF3B8914D5E92A9FE311ECD80C6BD61C2BB9E30BB41894E1569512BDEC808D4ADF536509ACC647EA97EE304C15F387C186B9C9FF829F9AE32C7140C7C9AA29B42155DC0467FC3B7B95AF6155250BFF7EE665B9FC772006E4944C5D91516192997D4CA7E47F8BBFB1DB5250F449F88D210A8F0C6802D2A277FE5EAAF96293AA673B193DA40A4EFA2E24EA1376C5DBE5746BE47E6F420DC79B280519472A71EB4CE9B23FB4F638BD9F0B944D1D2AEEC0ABBE7ABA8D8A5AC791B7F50503DAEB394BF39665A2893D8A60D551F8DFAC41EFE6E8C8C8F38480F5380D59059EB0D84792A0A0AF496E527C1AD55881FB2AE6509B0BED8EA59F8FEB8BFDEF6AB612C5E7A9F9FC8D123F7CB0A4093B235B0D7F9807077580E55A7A7274B669F30143176CFCD15EB75D856BDF550820F647CF5FBC48DFAB6E72437BB71571285CC99BA1E4BF934E6FC404921D0CF79C0F005721020BC2B757B3AF5DF906D4208995D92A31389C077D58FC93755535B4A01A857BBD1C59CCA965B6BC44FF4644B6DC25FE9CBB08F893671AC496D29482B5F5AD3ED0551E92C903B62CE70BE4085E587DBC39F678688A38FBB6E55E9E1CAA86E87EEB1C1C6D16D08C2C67C7F508311241BC74D94E7672C0F5D93756CAE8A91D0D75B875C33EC19BAA62C7FF865B292581306DF76D5DF479D4401751F06DB1803EA382AEBE7F9DA0FA21ACC3A05464A9D5BC57B2BD9D91637DBC639F0FC94E36E1B7236AE6EB793614CECB735DEDD82C369C75D974F5C2933D3BF49CB7A8120A4EE79C59B27FED3FEE68E1F3851BAA8AE658528605641E5BBDB8BB012378D30039D72AE55C6900CBE452C25F1DB2B00CC5DBFEB83BAECDB394DFC966357BAEF9F8E7CA256E5B7D41684B2A2EC321D6804387A8E82197221E37615D58ED71A9DE5A909EF6CDBC4040C27E2EB98778AECBF2294C19AC665ADB961C7EC73B265867C1FA3BABA18D28FC8976C369E9B05B70674E935C5FB28AE92FAB7A4F7A495CBE2743EAAB3735251896F7BE05D0C80B0205734554A2C18326F4EE2E92596AF2717475C83BB6E2AD043BBAEA16AD331184870357889C6AFF8A9157F481CC69EF59B0B1245BA366CEC0B60524CB083357469E036D2624479FC462368282F456CF567523FB3446FDCDA308D90109D796B863644A769D04E09F10FCC89E50F0C31EAC50F245069F09757FB0E3B62AF3A9F38C3DD9B91DCCA4B58261491212A8AAEDDDDC82E24CD10AD5F4636DF60E990454CE9F3F4A9771EB40AAE9EF25221BD17B5EC1C2A7DF7483B4D27239286F409AFFC35A950754A95BEA7F8B20936396D93415799F6B1301C61FDA2C63E9790B493219181D6EC80252E6D3ED5B709B9FC2DC357D7EDF1DFA1C096C7909B201A5D8526AD600BE20882AFC31E27DD4D31D507DFD5F1F9FD6EBAF658353530854E224FECB4885CAE16AA4CAB8271FADC3B6CD049A23EEA471EF36F749BA3CA9F661C26154A9AF25D91A8D2F9863FC79E53D2C3DB09F8F5121DCAD84CC0F707065D2D56D62F95CCAC248F5763BA13DB1365693899666BB6E7044A433B237C7E09E4D73D7E8405913A333A7FACB2F1A1E48572DC26ABCB409444DA3E112F2FB6559619E3C4E92FFFC7355B0D16343F0A6074E922F6A62E54295EE92B3E5756EA3EF32C5CE51CBBB9D39C536EF06534CF8552BACA921C899D0637CA739CB97F5897141A2584E538BBB2057325AFDF9B9EAF65E9393F60F582F0BAA673EFF6A5E18BF4C62605EA157C084D0943693155062BC7AF31B58CE43AD771DB51D9A355AA218613889BC967F2A0D76A9B71B8978E0A89975F9F8FB8FB613BB1988CB39ACB84447582955B66DAE845456A18D6A5C5859888CCC453EE205D2F591F157DE9D48D56B1C650212E39E09CDF3CA80E6CCD28FF0FAA1CE07776E234ED2B28FF5BD5A0B9A28BE1C67EE566F80BA8793F8F0BF2423A7EC9686B443DE6D3CC13D98DCD18D803E1FE7641026E2B7D80308221736CC2EA6D075DCF0ADE310F531CF7C5B3A357C52232EDBFD46548DE327851A5875F50294931D5E6837104BF9254063131366C406305CE07D4BA933993A20148A45B20C4A124030A8B6CCEBFB671370323E46B1A6A8B8C0CCC978262697726E2271F61372520D961FF387BB9343F37DE99745682C5102B6A36B038078B8C6A4FB429A254A1CC7D3255A32A4AE736E460096D12910BA5A4BD1DE6E511482E9B01D91D77E840F2C416C07B1D64BF494743A5464294F889BE17D86455673C82401F92AF463FC601EE32B7987B0285CC709462579BFDA190E36064243703D675365E196B1D347B4F77C2067FA4448208DFA89F3AA6A8866E6D5CFD2CC5C25B9DCE683EA06041220CD6F1CF5C9025FD5994A7A80979B1D8B7026119F01BD64B9DD745A8EB7CA67466A18FF51B18BDE914FEF741978C72163CEB0DEE2671C65068043730C7AE73BA2517B73689AD1FECFD01E43E7CC962543D5DAD8FE491EC20E737A76F55C118E83CC968AB267084840FE71D721E38310B5CCF066F862BD77DFCCD3061C1A70EE0AA0E90038792FDE0C703397F6B27007EAEFE8135CAFEF6946B612513E89A6713B580512CC8156113F7216122A11F7F64EFAA962C064655B39EB4C195686B3176419F7FDC1923679D50DBB58D20BC878E561B7D2EA997953B42B559CE2F4FAD7C01E3E9F05860047A86B8BF0FE7E947BD39085B89B44C502B66281272345E44B93DA90C267D3D03DACC4EFC50630B2C3EA13FEF70A7839420D08ED75AD2AAD219A13BF9C0CED8A0B2064586B85B41EDABBDCEE7CBE925B66DE64B8A7C4F2F0DC2635A57265536694F4053A4EC72D16E4E2139578D90F4D4587F414D8CC2FC7C6631A72D257886CBC83B0EAF94E699164135D1D449B3B6522454BCBE8CD5FDC3BF90BEECBC32F2C104ED8215CC83F33D83D2C7C0761E7BA77060442D85DF68F0AD9626C4AEE0992345668D74DA61BB3B41385F9E589E496940540B7A29F1BC641AD305D32E0498A0BD141F25F48F5103A126D0DAB3B522CF48AA98162C9ACCA05B96A3B51660EA956C61991D4EA89880FE19E857C1BF1330B254CA37150C9A1FE2FBB7DFD79E5734CC4645D57563131F181B0490CBA9FF6083E3B5A791B5EC5AFA8BB5025A2AB823023BCD77C946F64DD6E7DE60E014D952B7F8A56F15CFF01F0C47103FDD36C81E25A14846F2FB6A9660AB39CBB28B74FA555A4F387CAF4D52E0C608128B00114225B369321B3CB00DFF5DDFD29603BADD3BF034BE6F018E6323FB89116B1844B3D6D5F6E922AF68A0FE92C2D57929A991D4E805AB3EEAAA5DC32103A7C79460995BE17004F3BC7339426B795FDA840104918AAF25DBAF4486E1AE0445DB88E01341DCAA3A803F6196C78A5A01795BEC45041A93C4065E41843DE94C694DC5180C31B902B84DEBF25EE3E409578C0B738CFE7C8608503877AB453A95392869994E5FF652F4103A19107D9E195083B666EAEB206E72803099A7966E89FA410F430EA38865CF798314FD892DB58F94E51BFEEF7AAC9C27E7205C38733D70A36D52199368C070847CE9BD6EE2B9198C96B37FA00C6CB8B7EAF2B1D53D4947E6E3D0C3DC4677E3CE8E6E6100E3C07E36406B432D9EE898002038ADD3FF5D3C80DAC6150C7D2BB9B182E2425A7C5203C19A886C21B8BB5B76ED986E492573C8E419921221D3EF937584EEB0CCBA43E04A26D4560D4124F7D20D49A224429512EBB27ADFB729821E1A9BFA328D391CF2808D7805856413AF69E627C5BD1C501E5DFC69FD1667AB1CA88446BBD6B4AB2FF47D9C290CF8BA20C368C37AAFD28A6008151DBAD1DC308E55C75F6CBFA18D329705B67E5A9FAAE4196A5D3C471991381111CC151E9C312DF7928A304DF0B42CC5F878754D5FA799C93CE9382D262145FA84081069C04DDA7EB4DD079C6807F51E6CF44F413FB771278D6FA2A4F8144581FE9BD5AD701931254FC6754CD16872078D8C99CCCE2A2E23A0863ED79D7183C8B46FA0D2BCB8409A7150BBBF7B674C9D7E06027065D5BFD72B1170BB84C61D1642BF5E4E22C08A7BB2AEBC5D6E87363C591EB84F72853A214977FF119156BAD6787AE5CE47EE53E5E4641BD45A7456AB4CBEE9C8899961972A5D2CD3A3B733C7516D75D54763E46D46A818C1D98DC188BA046756F3938F4A524859FA30E57AED4DDFEDE4AE7FDB33BE01E50B2F3CFA4C88C1C8FDEB7D52B246FE88EA701F6B449D7DA4A65127EAD997A74DE4F430697BC73FBBF8BE65FDE5BCA3B147F1E4AA75F70FFFCB2B896B669665AFB6C0812E692F31BD0EE2D51E1F6831D8434CF3A827F23B003B22B5D0BC48369EBC1368EE58B97FAC3FECE0BE53EE03F3580963FF9582425ADCA6039EE0290E7AAA4FFF951C5388880DBF6A06853BCEA28F9EECAC0E4444720DD28E7DECE122D394EA184BC3B611C7F7D73BD0F9F3C3C444114F0BFC5EE52FC9A329976B8F425564ADEC9C00BB0BC990B6C3FF8BFADCAAA29332CF00492D4BAE0E6CB5738C515A7910F533A4BC7DBF54BDF842761071420CB4064FBB95A6DD68AFE6998FF1FABCCE983B2C1ABB474E90C909824FDA579B7C21DA5FF4189F3E6492DC42CB47495B1FB0BA6E51BE0D4C99C12E6C511E55E147D6873F7A287EA9B37BA4ECAFD85A02335BFBD82C5451B886B6863D9E676A54AEAD11708B66856EE409AA0DF9162A0E8666DF2B1CF77C63FDD2E62C2A576D0CC65A66A1E42DA8C3F0F8A32E5DCBE6CC55821E004014F6818127331918CBBE3B24AEA33002D31525C48CEB2456E8C3180766EDC3B323565B66286B4EFE028C8812E83FDADF2DB9B5AB426835A146C7BDF165B1C14BE110E194CDC8FE3CEC67993CE9C70F6255A3D128039701C9181AD8556364E12A1155EE1D73C3E8797DEBBBEDD04F27F6361778EF38700BC169D4F934981233DF03C6C954B72BAC8C21815A1949FD68C0390BD67636B9F3A3CA3BEA328DE8A52DE6026F038A067B3189D335D4BDC6568E2E316C2DA56A9F6D26BA02B1E6BD0C9777B4BB3D9A62090F83189FBAA93970A901CF1AB3542BB2B6A38E773C5680F159824F47FA01929F1CA2BE46A250B53E2DB9A9795AFF037ED7A1EDF3F240986DD3E70996DB2553F8649C3C58C9FC4673CA566AA8D87D7DEA71FCCEE69339317711FB7249077EF1985FCEAD6C7F4CFC507A42971BAC0E0D0B39D4A5E9E0D310B42135EE1F8BFD7E5E1B3F3E8B0003A2B997A16AF68B0018247F9B99181DCBF73314291F408539D81F8E8AE6E72E983F9CE23C3E653DE6D38F736685B55891B1CAF7146780E48239C703BCECCB2F39DC9C36C79F249B955B61AB5AE2C7BEB943A0407925AC43381A27290AB75D686A0ECB2C4AC5DD1C55577A0FA0925F677321942C62EC07FC9B2FE32C708444769C74D6B809D6561E9E8D92C5F0DDE7FFD18C488ED9852D9E9703FD37C32054F538B0E9A195F53898F4C559B89DCBD939C5B1015DA01F015E495B78E983E60EC3861899F586A368BFA7E7960A31A30A2CBA50FF9471315752E571C642E6D1838AB5598285487B3D59A4B526037360B813D53B0A872DA39DCD0B01FAB7DDAFC93B6C1948C52E9B7083CA2D7D592C98B52D0C4194233D44696E8FBAB6CA91C5B748CC6A8A76C8E617D3DFC855A39B1B51997E70FC417363497828E284B63F96A8EE61C743CF92983A85C407FE66DAEC1541567C5F28DA7B0B7E98C0B25459D44E0D7553F53059D2A69DD7707DB68B26280486C7974913807AABE5F9E91714D09AD7362BA3D0D7768E462D5A8451E8893F558ACC4F0469CAA4EB32A2922DD24C05F0E1496ADB3C17E7BC92CFF9D97B850B74F22F5E133CE8AFBE39E589BBFBDC705D139D10E90C70F22A3C3E34FBCBF08BE4F72A7C8FA29660E3D668C7D6CDFF0AE2D9F1ADCC5C2786E4600A867731C7F2D9B784A2141F092FEEE0D9D9A46F58A1E35C58DAFEAD794042A4BEAB87E3F8DE0FCD8989E042423DD1E8C7622B2A71E57E5DEEE8F28F4A83F61626000F32B012531611C11418E93B60A551F31120D99FC706140B83F82D3ED336CB83907294528EFD598A33FF53E410B065B1A19EEDE0C19D511A923886AC415558672F811A04186C6B5B5B0D9D5CE7FC39386C4D59A5DF918D17AD6E8FBFB247E2462146E8C51460E42DEF5DA8BEEFDE2676F69A114AD4F28F781868AD309FCE73C4B21F2A02D0A3C4C9E5C638DC04415799EAEEC4475462CE17F81EB8E5BA0F6EBB5B10CB1BB6625B224B248748D247F30764674048230D68E2986398BD29DC103D302AA073AC193A02F99C4448003DB4EDFA3DBE1588994E887DC7A2DF5F4C547FC35E0BB986A463B1EEA938B0EA333726747EEBB8C11A43BFA6C576E004798B4FD1E9BAA61C67314908C0C4CA866654EDD80CD478EB52D0232AB38FFC357745B14BC51D8D000F5E6A8892F461CB9F8059E4A1BAEF62FF54F3AC84F48B0559FE46DD5A2D5A3BD0A1661B2FEE1D04E000418A4ECC7B4E3600B7A71DC4BF4466CA8E0C13FF37FF28FADF0EAD9BB61E191567DDDBCB585B4B1DA458174C4081EE7DD99C72D02738FBC45AA845DA03D6F770E1828E2FD56C5052B3B9478526D292D800234AE6109D03F5BCD996A64534E9848C21981D54A5FEA9FA5051031AFC81088FC62D619E3E72900D182CF239E57812E41FE961950E0E4575DDB0249A5B17D986DC9C44DBE5BEAD14C1BDE91E2386B13F602AA9F0ACF9F2E6F291E19B42EDB0744DA2F38A829BA73350DB9DC279E3DEFE1C47A9AB9DAF5E1E1A0833D29334668E4E2AFDCD21665645D1151BA55EE0A28B842BB8B257B289525479FA9CF792F1B1563BAEFBEE35656538D4B77D50CDBFFF210EEA274BDA328CD3436AEA5817E08F5F5142AE1856E1C9448C5395F0B234E2AC2311EF9D195CDC9E86FCC474CF035209B65B19C6149556ED3AD9842A2D9592B0DD75C7AF49584E300BCE26746E8D3855D84220040FBD0305012BACA8133421A45F4D009EB66764A4CFE95374C365B132D6CEA46F3963765D96F9FE200B09757F2686A7AAA7BD725D0C29D4B1EEE1A5081F1A12BEDC2AD97083F32476E5907167BD52664A30A5458A10EF361528C26DE5526DCE63BC0C3D045EEBCA94F8AF167C2FCAA017C98956104CDFB9FA61BB509F56FA810FF5253D8A84B384D711FF15150757D96119C3D65740161076EDC56B3A7885D9C0AB34275B99572D2F8AD7D1DD17F2B36153C2D3972903F8280691FF4301F886C25A35DC0644BFB5BC9C477B293CF0838BD56E723A0206AF5DBA95F0137F195C90A3FBE0466AA42846ED216CC993AA08C1D2C7DCC6F9D46B7E487347BA08D1BB94EB37E0E58A1D0867B62EEC25FB0B757B52CD7EB1D3973F4CB62BDB6FBA77690F113DFD9346D7C8F9F550977BEF5C3E557F2F17A1454C2248F083FA35C12E3B2243BEBB37E29AA6D3F9C0E935486700839F120299E5F5225F36787B43AE18D5AC113EBDA6253C65B447BEC3CC8D23568D6860190D80DF79181772F8CCA2821B02F6A5695071BC852F88F8E382AB1FB7AD407C90EEB16737C83C78DF32CAD8D80961A684989BAC145ABEC359304EAD17439D1281440B57AFA31CDFBD33B777B3BF9062DC3932971AE639A9934E66DB68E1F4F12B93E7E4E83DF5B8ECC64CF13057C5DE8E3C6E79DD6A93B82798CF9D72068E73134764B70D6AB6E4B58C6453A3E18DCEDB8CBEE21AB8CED654E6CDB53E041F9C5B15F714DC4DB7751ADC98A11D946DF66FCA22BDEB63F9B6A277F0B9BC7BD0CAF79C51DF9B985591F06F5CF1CEFEDC9FD0E6645452E8BC54D824E7C3280B0284F8BBD4789E99C931CEDCAE3176FCDF1A9CED701C91EF4BE2F65A26DD4F63011CBF30C54243321BF1686297665498C8272962F615894B58423A5CCD5BD067E585718C8AD655DF75127A7E7D90241635361AB2C7E128E9E64E130F7D505B751BD448DB0C5836B3403EE4F5B85F6DA5276EABB0299C182710B0157DC3CF3ACE2DA865238E79EAF5D542D87BD66F7E2DE539C49F8B277A12FFA2BF15A8670522583A36E5021DD35BC0D645544DDF11CF7E64A0C018BC9D5A1A01383C80F2F3CA0B696F031E508858B1183F52CE358B4916DCEBF2FAB8D09EB51129C183EEF95F4192FE33BEC1ED59631974C6E6E4088FD063F85A208E8E645559D4422BB4EEC37E8A21A1A0E77DE5AC248888DE5EBE51AA55DC0DB49CE8F30C4AEAA763AEA027B6746DB5772FD53B20FC37548A095052B7764914AB8EBA3479B57180049759196E54CAF212A0C0CCA46542F4A2405985756982D8C4C5F1F573386B6C227F3F69141CFD91AA2A4994702F3F7B1D3CA69B705CC84CC49AD4BFC7E5BF55BBFFD566C41707788434D9C898B81D1CF5EFE36A37DA765EC09E899FF8E55B1B7CEF2242080D251597CCF237425C54686A982A48EAA3B119B59D86B6012B3119EF28BD3D649B9424A3897260AF812823BEEB60DA4B29ABA2247052D7635D6B99BBB368066AF047671C960EA0C1265437D774F2DC73E06DAFC66B77ADDC208A74C1B504BBAB84C8B770E4CD65F0A63303F06CD70D7D8F3FA7B8557346EBFD454F232E7D489727DA2ECF805AA4BAF9FF7215C90CBAA15A55965D3109E371BCED23426C94C314092CF871E0C629CB1747E9275B89CB969D4E9F6519180D3F49A64BCCCB22FF5AB87510D46167226366A9518F87E228BB970D148DCA4C826EC801675A8DD894335B11DF2D07F35B96FAD048DBD74CE0A1FB3137BFB4AAD248B90B2DB6203586F6960740FE72B6AC900AA09D259940C4E19136495B459468268071DDE7E472310B6915724722474BF72899EAF3F44EA47F99D4D9A9E96456523FA85CB7AF3CEBBB382B01CB8E10E06473C37A00F1D2D7F016A8CEAB49A8E6BDC66D27D6D71FAA990439C78A282C7424B36D0814DED210C108EF0CD1AE486FA94DD31F7F8E71BADD5FB8C525A4A27DF9F811714A24AB18EDD30BB799A8716BF719B220673113A9306F84BC553855EC28326AF3BABBC9A292C01077CE01865C71845ACD240228C808D7EBCDFFF8F881B84B454AAA93B7A93A074641D435D2E09462AA8945D4B5F944ED1F0CD291A5BFBD9A8243872F0F4BCD3535777F781B0346AA662AA1098E3BC0400999C381BCDC48A89E69688BA1B9E3D6086C2F4BEAF30C3B0BAD01002CA163AD41E40BA54D5322790D2AE1F9DE75C83374EE1FF455C1FEB8AAF1571CC9E35AA4529D16A6F7678E62B5733DE1C2636D17C88E3AFE28A52BFEEF78E84B9C1B3092C65CFA97B02040068D2EA4FAB5FCB0A0BB84835B31841E539EB7CD19C8900DE27E38602D61BA75763E5CE677403020C78C89C75A76010AF50FD9109E3ADDA0E2850443E81E8AD06A19A3EB2BA56DE9144239F943BA550E1F4A5A159487FA7F8123EDBA250B2CDF09A45DB03BEA2BB7C5056D610F154728184BEB7551C42C869BADEA535F59482A0F9F05DB24BA4508AD7F070B951239C3CC080A06B01F28A96C1CF0416778BCAD8EB1432BD7FB8B58F8D01B0AC4E2941FE0868770A49A0E9268D69E615092511CB5D0B11057560CC85CBA02E5D6DBAA9C08017587027692518778A0FD6547A620D17C6E28D94103C87FB97623E80D32B644011C5ED188FA51138BDCA0A83894D187A3786F5498DBC82808A8409E0B5ADC89577FE060AFBB081395ADBB0B26F1F50F2A96B6F127CF6051D3A4853AE73C2BA5295234143B83A6F3379AE9114328CCA9F50E28233B34CAAD9689D8F0130E1FDF95DF87DE18B146EF36752FCDC90D404BCE3AE71E715844A8E0F251C3B48EA20B5FC0D862286818ED7E51346637F541536EE1E682F201864D7AB49C0DE31C75F2DE590AFB92B0DCD9760840D1CCB1DF926761328224FDBD02F96076299A13B52AD9B5714CF588E76BAB0318077A4457FB605F79";
//        sb.append(imageData);
        String authenticationCode= "789F8875146A1EB0B0394BD778833B848156B0F207CD73F25DFE896AD2DF4FCE05F752C8532739FA5A4CDED25FBB184F9DFA55AB388C58D3026F7E55E7CB40408B430CF12BB02F1A1E5328547D527D8852EE62430E87BB8AC5B744C5B12E78294BD5FA3D9C5F2696D3C45DB3B1A99643357236F613B4C10E7DB4E8E2DEF0D960";

        String appId = "NUIOnNy2";
        String productType = "0";

        String url = "https://api.253.com/sdk/faceSDK/hack-detect/v3";
        String params = "bundleId=" + bundleId + "&packageName=" + packageName +
                "&packageSign=" + packageSign +
                "&appToken=" + appToken +
                "&client=2&imageData=" + IMAGEDATA +
                "&authenticationCode="+ authenticationCode +
                "&appId="+ appId +
                "&productType=" + productType;
        JSONObject jsonObject = postFormUrlEncoded(url, params);
        System.out.println(jsonObject);
    }
}